public HttpResponseMessage RfdDelivery([FromBody] ToDeliveryModel toDeliveryModel) { try { var x = toDeliveryRepository.RfdDelivery(toDeliveryModel); if (x == 1) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "success", msg = "Transfered successfully" }, formatter)); } else { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Error In Transfer !!!" }, formatter)); } } catch (Exception ex) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = ex.ToString() }, formatter)); } }
public ToDeliveryModel GetToDeliveryById(long to_delivery_master_id) { ToDeliveryModel toDeliveryModel = new ToDeliveryModel(); toDeliveryModel.ToDeliveryMasterData = _entities.to_delivery_master.Find(to_delivery_master_id); toDeliveryModel.ToDeliveryDetailsList = _entities.to_delivery_details .Join(_entities.products, jp => jp.product_id, p => p.product_id, (jp, p) => new { jp, p }) .GroupJoin(_entities.colors, jc => jc.jp.color_id, c => c.color_id, (jc, c) => new { jc, nc = c.FirstOrDefault() }) .Join(_entities.units, ju => ju.jc.jp.unit_id, u => u.unit_id, (ju, u) => new { ju, u }) .GroupJoin(_entities.product_version, jpv => jpv.ju.jc.jp.product_version_id, pv => pv.product_version_id, (jpv, pv) => new { jpv, vc = pv.FirstOrDefault() }) .Where(k => k.jpv.ju.jc.jp.to_delivery_master_id == to_delivery_master_id) .Select(i => new ToDeliveryDetailsModel { to_delivery_master_id = i.jpv.ju.jc.jp.to_delivery_master_id, product_id = i.jpv.ju.jc.jp.product_id, product_name = i.jpv.ju.jc.p.product_name, color_id = i.jpv.ju.nc.color_id, product_version_id = i.vc.product_version_id, color_name = string.IsNullOrEmpty(i.jpv.ju.nc.color_name) ? "" : i.jpv.ju.nc.color_name, product_version_name = string.IsNullOrEmpty(i.vc.product_version_name) ? "" : i.vc.product_version_name, to_quantity = i.jpv.ju.jc.jp.to_quantity, delivered_quantity = i.jpv.ju.jc.jp.delivered_quantity, to_delivery_details_id = i.jpv.ju.jc.jp.to_delivery_details_id, unit_id = i.jpv.u.unit_id, unit_name = i.jpv.u.unit_name }).OrderByDescending(p => p.to_delivery_master_id).ToList(); toDeliveryModel.ReceiveSerialNoDetails = (from rsnd in _entities.receive_serial_no_details join pro in _entities.products on rsnd.product_id equals pro.product_id join col in _entities.colors on rsnd.color_id equals col.color_id join ver in _entities.product_version on rsnd.product_version_id equals ver.product_version_id select new ReceiveSerialNoDetailsModel { receive_serial_no_details_id = rsnd.receive_serial_no_details_id, to_deliver_master_id = rsnd.to_deliver_master_id, product_id = pro.product_id, product_name = pro.product_name, color_id = col.color_id, color_name = col.color_name, product_version_id = ver.product_version_id, product_version_name = ver.product_version_name, imei_no = rsnd.imei_no, imei_no2 = rsnd.imei_no2 }).Where(r => r.to_deliver_master_id == to_delivery_master_id).OrderByDescending(e => e.receive_serial_no_details_id).ToList(); return(toDeliveryModel); }
public HttpResponseMessage Post([FromBody] ToDeliveryModel toDeliveryModel) { try { if (string.IsNullOrEmpty(toDeliveryModel.ToDeliveryMasterData.from_warehouse_id.ToString())) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Please Select From Warehouse !!" }, formatter)); } if (string.IsNullOrEmpty(toDeliveryModel.ToDeliveryMasterData.to_warehouse_id.ToString())) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Please Select To Warehouse !!" }, formatter)); } else { var x = toDeliveryRepository.AddToDelivery(toDeliveryModel); if (x == 1) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "success", msg = "Transfered successfully" }, formatter)); } else { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Error In Transfer !!!" }, formatter)); } } } catch (Exception ex) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = ex.ToString() }, formatter)); } }
public long RfdDelivery(ToDeliveryModel toDeliveryModel) { try { var toDeliveryMaster = toDeliveryModel.ToDeliveryMasterData; var toDeliveryDetailsList = toDeliveryModel.ToDeliveryDetailsList; var receiveSerialNoDetails = toDeliveryModel.ReceiveSerialNoDetails; var toDeliveryObject = _entities.to_delivery_master.Find(toDeliveryMaster.to_delivery_master_id); toDeliveryObject.status = "Delivered"; toDeliveryObject.delivery_method = toDeliveryMaster.delivery_method; toDeliveryObject.courier_id = toDeliveryMaster.courier_id; toDeliveryObject.to_logistics_delivered_by = toDeliveryMaster.to_logistics_delivered_by; _entities.SaveChanges(); foreach (var item in toDeliveryDetailsList) { InventoryRepository updateInventoty = new InventoryRepository(); //'39' virtual in-transit warehouse----------------------------- updateInventoty.UpdateInventory("TO DELIVERED ", toDeliveryMaster.to_delivery_no, 39, toDeliveryMaster.to_warehouse_id ?? 0, item.product_id ?? 0, item.color_id ?? 0, item.product_version_id ?? 0, item.unit_id ?? 0, item.delivered_quantity ?? 0, toDeliveryMaster.created_by ?? 0); } foreach (var item in receiveSerialNoDetails) { receive_serial_no_details receiveSerial = _entities.receive_serial_no_details.FirstOrDefault(r => r.imei_no == item.imei_no || r.imei_no2 == item.imei_no); receiveSerial.current_warehouse_id = toDeliveryMaster.to_warehouse_id; receiveSerial.deliver_date = DateTime.Now; _entities.SaveChanges(); } return(1); } catch (Exception) { return(0); } }
public long CancelToDelivery(ToDeliveryModel toDeliveryModel) { try { var toDeliveryMaster = toDeliveryModel.ToDeliveryMasterData; var toDeliveryDetailsList = toDeliveryModel.ToDeliveryDetailsList; var receiveSerialNoDetails = toDeliveryModel.ReceiveSerialNoDetails; var toDeliveryObject = _entities.to_delivery_master.Find(toDeliveryMaster.to_delivery_master_id); toDeliveryObject.status = "Canceled"; toDeliveryObject.is_active = false; toDeliveryObject.is_deleted = true; _entities.SaveChanges(); foreach (var item in toDeliveryDetailsList) { var toDeliveryDetails = new to_delivery_details(); toDeliveryDetails.delivered_quantity = item.delivered_quantity; var transferOrderDetailsData = _entities.transfer_order_details.Where(t => t.transfer_order_master_id == toDeliveryObject.transfer_order_master_id).ToList(); var fullReturn = true; foreach (var todItem in transferOrderDetailsData) { if (todItem.product_id == item.product_id && todItem.color_id == item.color_id && todItem.product_version_id == item.product_version_id) { todItem.transfered_quantity -= item.delivered_quantity; _entities.SaveChanges(); if (todItem.transfered_quantity != 0) { fullReturn = false; } } } if (fullReturn) { var xxx = _entities.transfer_order_master.Find(toDeliveryObject.transfer_order_master_id); xxx.status = "Created"; _entities.SaveChanges(); InventoryRepository updateInventoty = new InventoryRepository(); //'39' virtual in-transit warehouse----------------------------- updateInventoty.UpdateInventory("TO DELIVERY CANCEL", toDeliveryMaster.to_delivery_no, 39, toDeliveryMaster.from_warehouse_id ?? 0, item.product_id ?? 0, item.color_id ?? 0, item.product_version_id ?? 0, item.unit_id ?? 0, item.delivered_quantity ?? 0, toDeliveryMaster.created_by ?? 0); } else { var xxx = _entities.transfer_order_master.Find(toDeliveryObject.transfer_order_master_id); xxx.status = "Partially Delivered"; _entities.SaveChanges(); InventoryRepository updateInventoty = new InventoryRepository(); //'39' virtual in-transit warehouse----------------------------- updateInventoty.UpdateInventory("TO DELIVERY CANCEL", toDeliveryMaster.to_delivery_no, 39, toDeliveryMaster.from_warehouse_id ?? 0, item.product_id ?? 0, item.color_id ?? 0, item.product_version_id ?? 0, item.unit_id ?? 0, item.delivered_quantity ?? 0, toDeliveryMaster.created_by ?? 0); } } foreach (var item in receiveSerialNoDetails) { receive_serial_no_details receiveSerial = _entities.receive_serial_no_details.FirstOrDefault(r => r.imei_no == item.imei_no || r.imei_no2 == item.imei_no); receiveSerial.current_warehouse_id = toDeliveryMaster.from_warehouse_id; receiveSerial.deliver_date = null; receiveSerial.to_deliver_master_id = null; _entities.SaveChanges(); } return(1); } catch (Exception) { return(0); } }
public long AddToDelivery(ToDeliveryModel toDeliveryModel) { try { var toDeliveryMaster = toDeliveryModel.ToDeliveryMasterData; var toDeliveryDetailsList = toDeliveryModel.ToDeliveryDetailsList; var receiveSerialNoDetails = toDeliveryModel.ReceiveSerialNoDetails; // generate order_no long toDeliverySerial = _entities.to_delivery_master.Max(po => (long?)po.to_delivery_master_id) ?? 0; toDeliverySerial++; var toDeliveryStr = toDeliverySerial.ToString().PadLeft(7, '0'); string toDeliveryNo = "TO-DN" + "-" + toDeliveryStr; toDeliveryMaster.to_delivery_no = toDeliveryNo; toDeliveryMaster.to_delivery_date = DateTime.Now; toDeliveryMaster.transfer_order_master_id = toDeliveryModel.ToDeliveryMasterData.transfer_order_master_id; toDeliveryMaster.courier_id = toDeliveryModel.ToDeliveryMasterData.courier_id; toDeliveryMaster.courier_slip_no = toDeliveryModel.ToDeliveryMasterData.courier_slip_no; toDeliveryMaster.from_warehouse_id = toDeliveryModel.ToDeliveryMasterData.from_warehouse_id; toDeliveryMaster.to_warehouse_id = toDeliveryModel.ToDeliveryMasterData.to_warehouse_id; toDeliveryMaster.remarks = toDeliveryModel.ToDeliveryMasterData.remarks; toDeliveryMaster.status = "RFD"; toDeliveryMaster.created_by = toDeliveryModel.ToDeliveryMasterData.created_by; toDeliveryMaster.created_date = DateTime.Now; toDeliveryMaster.updated_by = toDeliveryModel.ToDeliveryMasterData.updated_by; toDeliveryMaster.updated_date = DateTime.Now; toDeliveryMaster.is_active = true; toDeliveryMaster.is_deleted = false; _entities.to_delivery_master.Add(toDeliveryMaster); _entities.SaveChanges(); long toDeliveryMasterId = toDeliveryMaster.to_delivery_master_id; var transferOrderTotalQty = 0; var deliveredTotalQty = 0; foreach (var item in toDeliveryDetailsList) { var toDeliveryDetails = new to_delivery_details(); toDeliveryDetails.to_delivery_master_id = toDeliveryMasterId; toDeliveryDetails.product_id = item.product_id; toDeliveryDetails.color_id = item.color_id; toDeliveryDetails.product_version_id = item.product_version_id; toDeliveryDetails.unit_id = item.unit_id; toDeliveryDetails.to_quantity = item.to_quantity; toDeliveryDetails.delivered_quantity = item.delivered_quantity; if (toDeliveryDetails.delivered_quantity > 0) //maruf { _entities.to_delivery_details.Add(toDeliveryDetails); } long saved = _entities.SaveChanges(); if (saved > 0) { // update inventory InventoryRepository updateInventoty = new InventoryRepository(); //'39' virtual in-transit warehouse----------------------------- updateInventoty.UpdateInventory("TO RFD", toDeliveryMaster.to_delivery_no, toDeliveryMaster.from_warehouse_id ?? 0, 39, toDeliveryDetails.product_id ?? 0, toDeliveryDetails.color_id ?? 0, toDeliveryDetails.product_version_id ?? 0, toDeliveryDetails.unit_id ?? 0, toDeliveryDetails.delivered_quantity ?? 0, toDeliveryMaster.created_by ?? 0); } long transferOrderDetailsId = item.transfer_order_details_id; transfer_order_details transferOrderDetails = _entities.transfer_order_details.Find(transferOrderDetailsId); // Maruf: updating paramenters to check delivery status transferOrderDetails.transfered_quantity += item.delivered_quantity; transferOrderTotalQty += toDeliveryDetails.to_quantity ?? 0; deliveredTotalQty += toDeliveryDetails.delivered_quantity ?? 0; _entities.SaveChanges(); } // maruf: updating delivery status 19.Oct.2016 var transferOrderMaster = _entities.transfer_order_master.FirstOrDefault(r => r.transfer_order_master_id == toDeliveryModel.ToDeliveryMasterData.transfer_order_master_id); transferOrderMaster.status = (deliveredTotalQty >= transferOrderTotalQty) ? "Delivered" : "Partially Delivered"; _entities.SaveChanges(); foreach (var item in receiveSerialNoDetails) { receive_serial_no_details receiveSerial = _entities.receive_serial_no_details.FirstOrDefault(r => r.imei_no == item.imei_no || r.imei_no2 == item.imei_no); receiveSerial.current_warehouse_id = 39; receiveSerial.deliver_date = DateTime.Now; receiveSerial.to_deliver_master_id = toDeliveryMaster.to_delivery_master_id; _entities.SaveChanges(); } return(1); } catch (Exception) { return(0); } }