public ActionResult Edit(Way_BillModel way_billModel)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(13) || z.Contains(24))
         {
             Way_Bill_Details way_bill_details = new Way_Bill_Details();
             int id = Convert.ToInt32(TempData["id"]);
             if (ModelState.IsValid)
             {
                 way_bill_details.way_bill_details_id = id;
                 way_bill_details.way_bill_id = Convert.ToInt32(TempData["way_bill_id"]);
                 way_bill_details.goods_id = way_billModel.goods_id;
                 way_bill_details.unit_of_measure_id = way_billModel.unit_of_measure_id;
                 way_bill_details.total_quantity = way_billModel.total_quantity;
                 way_bill_details.currency_id = way_billModel.currency_id;
                 way_bill_details.is_damaged = way_billModel.is_damaged;
                 db.Entry(way_bill_details).State = EntityState.Modified;
                 db.SaveChanges();
                 return RedirectToAction("Details", new { way_bill_id = way_bill_details.way_bill_id });
             }
             return RedirectToAction("Details", new { way_bill_id = way_bill_details.way_bill_id });
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }
 //
 // GET: /Manage_Way_Bill/Edit/5
 public ActionResult Edit(int id = 0)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(13) || z.Contains(24))
         {
             Way_Bill_Details way_bill_details = db.Way_Bill_Details.Find(id);
             Way_BillModel way_billModel = new Way_BillModel();
             if (way_bill_details == null)
             {
                 return HttpNotFound();
             }
             var import_code = from w in db.Way_Bill
                               join wd in db.Way_Bill_Details on w.way_bill_id equals wd.way_bill_id
                               join i in db.Imports on w.import_id equals i.import_id
                               where wd.way_bill_details_id == way_bill_details.way_bill_details_id
                               select new { i.import_id, i.import_code };
             ViewBag.import = new SelectList(import_code, "import_id", "import_code");
             var way_bill_master_details = (from w in db.Way_Bill
                                            where w.way_bill_id == way_bill_details.way_bill_id
                                            select new { w.way_bill_name, w.import_id, w.importer_id, w.is_calculated, w.way_bill_code, w.way_bill_id, w.mark }).First();
             var goods = from g in db.Goods
                         join gt in db.Goods_Type on g.goods_type_id equals gt.goods_type_id
                         join gs in db.Goods_Subcategory on gt.goods_subcategory_id equals gs.goods_subcategory_id
                         join gc in db.Goods_Category on gs.goods_category_id equals gc.goods_category_id
                         where g.goods_id == way_bill_details.goods_id
                         select new { g.goods_id, g.goods_name, gt.goods_type_id, gt.goods_type_name, gs.goods_subcategory_id, gs.goods_subcategory_name, gc.goods_category_id };
             var unit_id = from u in db.Unit_Of_Measure
                           where u.unit_id == way_bill_details.unit_of_measure_id
                           select u;
             ViewBag.unit_of_measure = new SelectList(unit_id, "unit_id", "unit_code");
             ViewBag.subcategories = new SelectList(goods, "goods_subcategory_id", "goods_subcategory_name");
             ViewBag.goods_type = new SelectList(goods, "goods_type_id", "goods_type_name");
             ViewBag.goods = new SelectList(goods, "goods_id", "goods_name");
             TempData["id"] = way_bill_details.way_bill_details_id;
             TempData["way_bill_id"] = way_bill_details.way_bill_id;
             ViewBag.categories = new HomeController().Category();
             ViewBag.currency = new HomeController().Currency();
             way_billModel.way_bill_code = way_bill_master_details.way_bill_code;
             way_billModel.import_id = way_bill_master_details.import_id;
             way_billModel.mark = way_bill_master_details.mark;
             way_billModel.goods_category_id = goods.First().goods_category_id;
             way_billModel.goods_subcategory_id = goods.First().goods_subcategory_id;
             way_billModel.goods_type_id = goods.First().goods_type_id;
             way_billModel.goods_id = way_bill_details.goods_id;
             way_billModel.unit_of_measure_id = way_bill_details.unit_of_measure_id;
             way_billModel.is_damaged = way_bill_details.is_damaged;
             way_billModel.total_quantity = Convert.ToInt32(way_bill_details.total_quantity);
             return View(way_billModel);
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }
 public ActionResult DbSearchresult_new(Way_BillModel way_bill)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(13) || z.Contains(24))
         {
             var way_bill_id = Convert.ToInt32(Session["way_bill_id"]);
             if (way_bill.goods != null)
             {
                 var result = (from w in db.Way_Bill
                               join wd in db.Way_Bill_Details on w.way_bill_id equals wd.way_bill_id
                               join imps in db.Imports on w.import_id equals imps.import_id
                               join i in db.Importers on w.importer_id equals i.importer_id
                               join g in db.Goods on wd.goods_id equals g.goods_id
                               join u in db.Unit_Of_Measure on wd.unit_of_measure_id equals u.unit_id
                               where g.goods_name.Contains(way_bill.goods) && wd.way_bill_id == way_bill_id
                               select new Way_BillModel { way_bill_id = w.way_bill_id, importer_name = i.importer_first_name, way_bill_code = w.way_bill_code, way_bill_name = w.way_bill_name, goods = g.goods_name, unit_of_measure = u.unit_code, total_quantity = wd.total_quantity, import_status_id = imps.importing_status_id, goods_id = wd.goods_id, way_bill_details_id = wd.way_bill_details_id, is_damaged = wd.is_damaged });
                 TempData["importer"] = (from w in db.Way_Bill
                                         join i in db.Importers on w.importer_id equals i.importer_id
                                         where w.way_bill_id == way_bill_id
                                         select i.importer_first_name + " " + i.importer_middle_name + " " + i.importer_last_name).First();
                 return View("Details", result.ToList());
             }
             return RedirectToAction("Details", new { way_bill_id = way_bill_id });
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }
 public ActionResult DbSearchresult(Way_BillModel way_bill)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(13))
         {
             //Queue q = new Queue();
             if ( way_bill.way_bill_code != null && way_bill.import_code != null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where w.way_bill_code.Contains(way_bill.way_bill_code) && i.import_code.Contains(way_bill.import_code) && sa.ship_arrival_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code != null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where w.way_bill_code.Contains(way_bill.way_bill_code) && i.import_code.Contains(way_bill.import_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code == null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where w.way_bill_code.Contains(way_bill.way_bill_code) && sa.ship_arrival_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code == null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where w.way_bill_code.Contains(way_bill.way_bill_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code != null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where i.import_code.Contains(way_bill.import_code) && sa.ship_arrival_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code != null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where i.import_code.Contains(way_bill.import_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code == null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.Way_Bill
                               join i in db.Imports on w.import_id equals i.import_id
                               join sa in db.Ship_Arrival on i.ship_arrival_id equals sa.ship_arrival_id
                               where sa.ship_arrival_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.way_bill_code, import_name = i.import_code, ship_arrival_code = sa.ship_arrival_code, import_status_id = i.importing_status_id, way_bill_id = w.way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             return RedirectToAction("Index");
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }
 public ActionResult Create_Way_Bill(Way_BillModel way_billModel)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(13) || z.Contains(24))
         {
             Way_Bill_Details way_bill_details = new Way_Bill_Details();
             var way_bill_id = Convert.ToInt32(Session["way_bill_id"]);
             if (ModelState.IsValid)
             {
                 way_bill_details.way_bill_id = way_bill_id;
                 way_bill_details.goods_id = way_billModel.goods_id;
                 way_bill_details.unit_of_measure_id = way_billModel.unit_of_measure_id;
                 way_bill_details.total_quantity = way_billModel.total_quantity;
                 way_bill_details.is_damaged = way_billModel.is_damaged;
                 db.Way_Bill_Details.Add(way_bill_details);
                 db.SaveChanges();
                 return RedirectToAction("Details", new { way_bill_id = way_bill_id });
             }
             return RedirectToAction("Details", new { way_bill_id = way_bill_id });
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }
 public ActionResult DbSearchresult(Way_BillModel way_bill)
 {
     if (Session["login_status"] != null)
     {
         int[] z = (int[])Session["function_id"];
         if (z.Contains(31))
         {
             //Queue q = new Queue();
             if (way_bill.way_bill_code != null && way_bill.import_code != null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where w.e_way_bill_code.Contains(way_bill.way_bill_code) && e.export_code.Contains(way_bill.import_code) && sd.ship_departure_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code != null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where w.e_way_bill_code.Contains(way_bill.way_bill_code) && e.export_code.Contains(way_bill.import_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code == null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where w.e_way_bill_code.Contains(way_bill.way_bill_code) && sd.ship_departure_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code != null && way_bill.import_code == null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where w.e_way_bill_code.Contains(way_bill.way_bill_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code != null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where e.export_code.Contains(way_bill.import_code) && sd.ship_departure_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code != null && way_bill.ship_arrival_code == null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where e.export_code.Contains(way_bill.import_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             else if (way_bill.way_bill_code == null && way_bill.import_code == null && way_bill.ship_arrival_code != null)
             {
                 var result = (from w in db.E_Way_Bill
                               join e in db.Exports on w.export_id equals e.export_id
                               join sd in db.Ship_Departure on e.ship_departure_id equals sd.ship_departure_id
                               where sd.ship_departure_code.Contains(way_bill.ship_arrival_code)
                               select new Way_BillModel { way_bill_code = w.e_way_bill_code, import_name = e.export_code, ship_arrival_code = sd.ship_departure_code, import_status_id = e.exporting_status_id, way_bill_id = w.e_way_bill_id, mark = w.mark });
                 return View("Index", result.ToList());
             }
             return RedirectToAction("Index");
         }
         else
         {
             return RedirectToAction("../Home/Dashboard");
         }
     }
     else
     {
         return RedirectToAction("../Home");
     }
 }