Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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));
     }
 }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
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);
            }
        }
Ejemplo n.º 6
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);
            }
        }