i have a table with name shipment_assignment
with contain field table :
id, member_id, partner_id, vehicle_id, shipment_no, begin_date_time, end_date_time, active
note * end_date_time (allow null) , id (identity)
first step :
i have add new record from csharp asp. mvc code
id = 12
member_id= 22
partner_id = 32
vehicle_id = 42
shipment_no = 52
begin_date_time = 2017-04-13
end_date_time = null
active = 1
second step
i add one more record with contain same vehicle_id :
id = 13
member_id= 22
partner_id = 32
vehicle_id = 42
shipment_no = 53
begin_date_time = 2017-04-13
end_date_time = null
active = 1
When i have insert new record with same vehicle_id then end_date_time with contain empty/null (from first step) must be inserted value from begin_date_time at second step
Here's My Code
[HttpPost]
public ActionResult Add([ModelBinder(typeof(DevExpressEditorsBinder))] ShipmentAssigmentModel model)
{
int memberId = ((CustomIdentity)User.Identity).MemberId;
if (ModelState.IsValid)
{
// get vehicle
ShipmentAssignment getvehicle = db.ShipmentAssignments.Where(m => m.member_id == memberId
&& m.partner_id == model.partner_id && m.vehicle_id == model.vehicle_id && m.end_date_time ==model.end_date_time).FirstOrDefault();
//check if duplicate shipment number
//ShipmentAssignment getshipment_number = db.ShipmentAssignments.Where(m => m.member_id == memberId
// && m.partner_id == model.partner_id && m.shipment_no == model.shipment_no).FirstOrDefault();
if (model.partner_id == null || model.partner_id < 1)
{
// If Partner Not Choosen
ModelState.AddModelError("", "Partner Not Choosen");
}
// If VehicleId Not Choosen
else if (model.vehicle_id == null || model.vehicle_id < 1)
{
ModelState.AddModelError("", "Vehicle Not Choosen");
}
// if vehicle has been assigned but not closed
//else if (getvehicle != null)
//{
// ModelState.AddModelError("", "This Vehicle Has Been Assigned");
//}
// if shipment number active and Status = True
//else if (getshipment_number != null & model.active != true)
//{
// ModelState.AddModelError("", "Shipment Number HasBeen Assigned");
//}
// if string Shipment number is Empty
else if (string.IsNullOrEmpty(model.shipment_no))
{
ModelState.AddModelError("", "Shipment Number Cannot Be Empty");
}
// if start assignment is empty
else if (string.IsNullOrEmpty(Convert.ToString(model.begin_date_time)))
{
ModelState.AddModelError("", "Start Assignment Date Cannot Be Empty");
}
}
if (ModelState.IsValid)
{
ShipmentAssignment shipment = new ShipmentAssignment()
{
member_id = memberId,
partner_id = (int)model.partner_id,
vehicle_id = (int)model.vehicle_id,
shipment_no = model.shipment_no,
begin_date_time = model.begin_date_time,
create_date = DateTime.Now,
active = true,
};
db.ShipmentAssignments.Add(shipment);
db.SaveChanges();
//Session["UpdateMessage"] = "Vehicle has been assign";
SetUpdateMessage("Vehicle has been assigned");
return RedirectToAction("Index");
}
else
{
ViewBag.PartnerList = dbUtil.GetPartnerList(memberId, true);
Session["VehicleId"] = model.vehicle_id;
//GetVehicles();
return View(model);
}
}