Example #1
0
 public function equalsubject(Request $request)
 {
     // for all_complete or part complete or all_refuse
     $complete = 0;
     $refuse = 0;
     $equal_subject;
     $order_state = '';
     foreach ($request->order_equal_subject_id as $key => $value) {
         $equal_subject = EqualSubject::with('order')->findOrFail($value);
         if ($request->equal_subject_id[$key] != '-1') {
             $equal_subject->equal_subject_id = $request->equal_subject_id[$key];
             $equal_subject->is_equal = 1;
             $complete = 1;
             // convert student_subject state to equal
             if ($equal_subject->save()) {
                 StudentSubject::where("subject_id", $equal_subject->equal_subject_id)->where('student_id', $equal_subject->order->student_id)->update(['state' => 'equal']);
             }
         } else {
             $equal_subject->is_equal = -1;
             $refuse = 1;
             $equal_subject->save();
         }
     }
     //convert order_equal state to (complete or part complete)
     $equal_order = Equal::findOrFail($equal_subject->equal_order_id);
     if ($complete == 0 && $refuse == 0) {
         // no subjetct sent
     } elseif ($complete == 1 && $refuse == 0) {
         $order_state = 'قبول كلى';
     } elseif ($complete == 0 && $refuse == 1) {
         $order_state = 'رفض كلى';
     } else {
         $order_state = 'قبول جزئي';
     }
     $equal_order->state = $order_state;
     $equal_order->save();
     //save in history
     $order_history = new Orderhistory();
     $order_history->ref_key = 'order_equals';
     $order_history->ref_value = $equal_order->id;
     $order_history->state = $order_state;
     //$order_history ->note =$request->note;
     $order_history->created_by = user()->id;
     $order_history->save();
     return redirect()->route('equal.show', $equal_order->id)->with('success', trans('orders::order.change_success'));
 }