public ActionResult Create(Ship_ArrivalModel ship_arrivalModel)
 {
     Ship_Arrival ship_arrival = new Ship_Arrival();
     DateTime shipp_arrival_date = Convert.ToDateTime(ship_arrivalModel.day_code);
     var year = shipp_arrival_date.Year;
     var month = shipp_arrival_date.Month;
     var day = shipp_arrival_date.Day;
     var day_2 = "D"+day.ToString("00");
     var month_2 = "M"+month.ToString("00");
     var day_code = year + month_2 + day_2;
     var ship_code = "";
     var state_name = "";
     var day_id = 0;
     var ship_code1 = from s in db.Ships
                      where s.ship_id == ship_arrivalModel.shipp_id
                      select s.ship_code_1;
     foreach (var item in ship_code1)
     {
         ship_code = item;
     }
     var geography_code1 = from s in db.States
                           where s.state_id == ship_arrivalModel.state_id
                           select s.state_name;
     foreach (var item in geography_code1)
     {
         state_name = item;
     }
     var day_code1 = from d in db.Days
                     where d.day_code == day_code
                     select d.day_id;
     foreach (var item in day_code1)
     {
         day_id = item;
     }
     if (ModelState.IsValid)
     {
         var is_exist = (from sa in db.Ship_Arrival where sa.shipp_id == ship_arrivalModel.shipp_id && sa.day_id == day_id select sa).Count();
         if (is_exist > 0)
         {
             TempData["errorMessage"] = "This Ship Arrival Already Exist";
         }
         else
         {
             ship_arrival.shipp_id = ship_arrivalModel.shipp_id;
             ship_arrival.state_id = ship_arrivalModel.state_id;
             ship_arrival.day_id = day_id;
             ship_arrival.ship_arrival_code = ship_code + " " + state_name + " " + day_code;
             ship_arrival.status_id = 1;
             ship_arrival.created_date = Convert.ToDateTime(DateTime.Now.ToString()).ToString("yyyy-MM-dd");
             ship_arrival.updated_date = Convert.ToDateTime(DateTime.Now.ToString()).ToString("yyyy-MM-dd");
             db.Ship_Arrival.Add(ship_arrival);
             db.SaveChanges();
             TempData["errorMessage"] = "Ship Arrival Added Successfully";
         }
         return RedirectToAction("Index");
     }
     return RedirectToAction("Index");
 }
 public ActionResult Edit(Ship_ArrivalModel ship_arrivalModel)
 {
     int id = Convert.ToInt32(TempData["id"]);
     var created_date = TempData["created_date"].ToString();
     Ship_Arrival ship_arrival = new Ship_Arrival();
     DateTime shipp_arrival_date = Convert.ToDateTime(ship_arrivalModel.day_code);
     var year = shipp_arrival_date.Year;
     var month = shipp_arrival_date.Month;
     var day = shipp_arrival_date.Day;
     var day_2 = "D" + day.ToString("00");
     var month_2 = "M" + month.ToString("00");
     var day_code = year + month_2 + day_2;
     var ship_code = "";
     var geography_code = "";
     var day_id = 0;
     var ship_code1 = from s in db.Ships
                      where s.ship_id == ship_arrivalModel.shipp_id
                      select s.ship_code_1;
     foreach (var item in ship_code1)
     {
         ship_code = item;
     }
     var geography_code1 = from s in db.States
                           join c in db.Countries on s.country_id equals c.country_id
                           join g in db.Geographies on c.geography_id equals g.geography_id
                           where s.state_id == ship_arrivalModel.state_id
                           select g.geography_name;
     foreach (var item in geography_code1)
     {
         geography_code = item;
     }
     var day_code1 = from d in db.Days
                     where d.day_code == day_code
                     select d.day_id;
     foreach (var item in day_code1)
     {
         day_id = item;
     }
     if (ModelState.IsValid)
     {
         var is_exist = (from sa in db.Ship_Arrival where sa.shipp_id == ship_arrivalModel.shipp_id && sa.day_id == day_id && sa.ship_arrival_id != id select sa).Count();
         if (is_exist > 0)
         {
             TempData["errorMessage"] = "This Ship Arrival Already Exist";
         }
         else
         {
             ship_arrival.status_id = ship_arrivalModel.status_id;
             ship_arrival.shipp_id = ship_arrivalModel.shipp_id;
             ship_arrival.state_id = ship_arrivalModel.state_id;
             ship_arrival.day_id = day_id;
             ship_arrival.ship_arrival_code = ship_code + " " + geography_code + " " + day_code;
             ship_arrival.ship_arrival_id = id;
             ship_arrival.created_date = created_date;
             ship_arrival.updated_date = Convert.ToDateTime(DateTime.Now.ToString()).ToString("yyyy-MM-dd");
             db.Entry(ship_arrival).State = EntityState.Modified;
             db.SaveChanges();
             TempData["errorMessage"] = "Edited Successfully";
         }
         return RedirectToAction("Index");
     }
     return View(ship_arrival);
 }