public bool DeleteTransferOrderDetailsById(long transfer_order_details_id)
 {
     try
     {
         transfer_order_details oTransferOrderDetails = _entities.transfer_order_details.Find(transfer_order_details_id);
         _entities.transfer_order_details.Attach(oTransferOrderDetails);
         _entities.transfer_order_details.Remove(oTransferOrderDetails);
         _entities.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Example #2
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);
            }
        }
        public long AddTransferOrder(TransferOrderModel transferOrderModel)
        {
            try
            {
                var toMaster      = transferOrderModel.ToMasterData;
                var toDetailsList = transferOrderModel.ToDetailsList;

                // generate order_no
                long toSerial = _entities.transfer_order_master.Max(to => (long?)to.transfer_order_master_id) ?? 0;

                if (toSerial != 0)
                {
                    toSerial++;
                }
                else
                {
                    toSerial++;
                }
                var toStr = toSerial.ToString().PadLeft(7, '0');

                //string orderNo = "ORD/" + DateTime.Now.Year + "/" + poSerial;
                string orderNo = "TO-" + toStr;
                toMaster.order_no               = orderNo;
                toMaster.order_date             = Convert.ToDateTime(transferOrderModel.ToMasterData.order_date);
                toMaster.status                 = transferOrderModel.ToMasterData.status;
                toMaster.remarks                = transferOrderModel.ToMasterData.remarks;
                toMaster.expected_transfer_date = transferOrderModel.ToMasterData.expected_transfer_date;
                toMaster.total_amount           = transferOrderModel.ToMasterData.total_amount;
                toMaster.from_warehouse_id      = transferOrderModel.ToMasterData.from_warehouse_id;
                toMaster.to_warehouse_id        = transferOrderModel.ToMasterData.to_warehouse_id;
                toMaster.created_by             = transferOrderModel.ToMasterData.created_by;
                toMaster.created_date           = DateTime.Now;
                toMaster.updated_by             = transferOrderModel.ToMasterData.updated_by;
                toMaster.updated_date           = DateTime.Now;
                toMaster.is_active              = true;
                toMaster.is_deleted             = false;

                _entities.transfer_order_master.Add(toMaster);
                _entities.SaveChanges();

                long transferOrderMasterId = toMaster.transfer_order_master_id;

                foreach (var item in toDetailsList)
                {
                    var toDetails = new transfer_order_details
                    {
                        transfer_order_master_id = transferOrderMasterId,
                        product_id          = item.product_id,
                        unit_id             = item.unit_id,
                        unit_price          = item.unit_price,
                        quantity            = item.quantity,
                        product_version_id  = item.product_version_id,
                        brand_id            = item.brand_id,
                        color_id            = item.color_id,
                        transfered_quantity = 0,
                        last_modified_date  = DateTime.Now,
                        line_total          = item.line_total,
                        size_id             = item.size_id,
                        status = item.status,
                        product_category_id = item.product_category_id
                    };

                    _entities.transfer_order_details.Add(toDetails);
                    _entities.SaveChanges();
                }
                return(1);
            }
            catch (Exception ex)
            {
                return(0);
            }
        }
        public bool EditTransferOrder(TransferOrderModel transferOrderModel)
        {
            try
            {
                var toMaster      = transferOrderModel.ToMasterData;
                var toDetailsList = transferOrderModel.ToDetailsList;
                transfer_order_master masterData = _entities.transfer_order_master.Find(toMaster.transfer_order_master_id);

                masterData.order_date             = Convert.ToDateTime(transferOrderModel.ToMasterData.order_date);
                masterData.remarks                = transferOrderModel.ToMasterData.remarks;
                masterData.expected_transfer_date = transferOrderModel.ToMasterData.expected_transfer_date;
                masterData.total_amount           = transferOrderModel.ToMasterData.total_amount;
                masterData.from_warehouse_id      = transferOrderModel.ToMasterData.from_warehouse_id;
                masterData.to_warehouse_id        = transferOrderModel.ToMasterData.to_warehouse_id;
                masterData.created_by             = transferOrderModel.ToMasterData.created_by;
                masterData.created_date           = DateTime.Now;
                masterData.updated_by             = transferOrderModel.ToMasterData.updated_by;
                masterData.updated_date           = DateTime.Now;
                masterData.is_active              = true;
                masterData.is_deleted             = false;

                _entities.SaveChanges();

                foreach (var item in toDetailsList)
                {
                    transfer_order_details detailsData =
                        _entities.transfer_order_details.FirstOrDefault(pd => pd.transfer_order_master_id == toMaster.transfer_order_master_id && pd.transfer_order_details_id == item.transfer_order_details_id && pd.last_modified_date == item.last_modified_date);
                    if (detailsData != null)
                    {
                        detailsData.transfer_order_master_id = toMaster.transfer_order_master_id;
                        detailsData.product_id          = item.product_id;
                        detailsData.unit_id             = item.unit_id;
                        detailsData.unit_price          = item.unit_price;
                        detailsData.quantity            = item.quantity;
                        detailsData.product_version_id  = item.product_version_id;
                        detailsData.brand_id            = item.brand_id;
                        detailsData.color_id            = item.color_id;
                        detailsData.last_modified_date  = DateTime.Now;
                        detailsData.line_total          = item.line_total;
                        detailsData.size_id             = item.size_id;
                        detailsData.status              = item.status;
                        detailsData.product_category_id = item.product_category_id;

                        _entities.SaveChanges();
                    }
                    else
                    {
                        var poDetails = new transfer_order_details
                        {
                            transfer_order_master_id = toMaster.transfer_order_master_id,
                            product_id          = item.product_id,
                            unit_id             = item.unit_id,
                            unit_price          = item.unit_price,
                            quantity            = item.quantity,
                            product_version_id  = item.product_version_id,
                            brand_id            = item.brand_id,
                            color_id            = item.color_id,
                            transfered_quantity = 0,
                            last_modified_date  = DateTime.Now,
                            line_total          = item.line_total,
                            size_id             = item.size_id,
                            status = item.status,
                            product_category_id = item.product_category_id
                        };

                        _entities.transfer_order_details.Add(poDetails);
                        _entities.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }