Example #1
0
        public object ReloadItemIsSetGroup(int userID, int?branchID, string productionItemIDs, string workOrderIDs, string stickGroupdIDs, out Notification notification)
        {
            notification      = new Notification();
            notification.Type = NotificationType.Success;

            List <DTO.PurchaseRequestDetailDTO> data = new List <DTO.PurchaseRequestDetailDTO>();

            try
            {
                using (var context = CreateContext())
                {
                    var dbItem = context.PurchaseRequestMng_function_ReloadItemByMaterialGroup(branchID, productionItemIDs, workOrderIDs, stickGroupdIDs).ToList();

                    int i = 0;
                    foreach (var item in dbItem)
                    {
                        i = i - 1;
                        if (item != null /* && item.ProductionItemTypeID == 2*/)
                        {
                            DTO.PurchaseRequestDetailDTO dtoItem = new DTO.PurchaseRequestDetailDTO();
                            dtoItem.PurchaseRequestDetailID = i;
                            dtoItem.ProductionItemID        = item.ProductionItemID;
                            dtoItem.ProductionItemUD        = item.ProductionItemUD;
                            dtoItem.ProductionItemNM        = item.ProductionItemNM;
                            dtoItem.RequestQnt            = item.RequestQnt;
                            dtoItem.OrderQnt              = item.OrderQnt;
                            dtoItem.StockQnt              = item.StockQnt;
                            dtoItem.IsApproved            = item.IsApproved;
                            dtoItem.UnitNM                = item.UnitNM;
                            dtoItem.WorkOrderID           = item.WorkOrderID;
                            dtoItem.WorkOrderUD           = item.WorkOrderUD;
                            dtoItem.ProformaInvoiceNo     = item.ProformaInvoiceNo;
                            dtoItem.ProductionItemGroupID = item.ProductionItemGroupID;
                            dtoItem.ETA = DateTime.Now.ToString("dd/MM/yyyy");

                            data.Add(dtoItem);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                notification.Type    = NotificationType.Error;
                notification.Message = Library.Helper.GetInnerException(ex).Message;
            }

            return(data);
        }
Example #2
0
        public DTO.EditFormData GetData(int userId, int id, Hashtable param, out Library.DTO.Notification notification)
        {
            DTO.EditFormData editFormData = new DTO.EditFormData();
            editFormData.ClientByWorkOrders          = new List <DTO.ClientByWorkOrderDTO>();
            editFormData.ProformaInvoiceByWorkOrders = new List <DTO.ProformaInvoiceNoByWorkOrderDTO>();

            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };

            try
            {
                using (PurchaseRequestMngEntities context = CreateContext())
                {
                    //get companyID
                    Module.Framework.DAL.DataFactory fw_factory = new Framework.DAL.DataFactory();
                    int?companyID = fw_factory.GetCompanyID(userId);
                    if (id > 0)
                    {
                        PurchaseRequestMng_PurchaseRequest_View dbItem;
                        dbItem            = context.PurchaseRequestMng_PurchaseRequest_View.Include("PurchaseRequestMng_PurchaseRequestDetail_View.PurchaseRequestMng_PurchaseRequestWorkOrderDetail_View").Where(o => o.CompanyID == companyID).FirstOrDefault(o => o.PurchaseRequestID == id);
                        editFormData.Data = converter.DB2DTO_PurchaseRequest(dbItem);
                        editFormData.Data.PurchaseRequestDetailDTOs = editFormData.Data.PurchaseRequestDetailDTOs.Where(o => o.BranchID == Library.Helper.ConvertStringToInt(param["branchID"].ToString())).ToList();
                    }
                    else
                    {
                        //initialize data
                        editFormData.Data = new DTO.PurchaseRequestDTO();
                        editFormData.Data.PurchaseRequestDetailDTOs = new List <DTO.PurchaseRequestDetailDTO>();
                        editFormData.Data.PurchaseRequestDate       = DateTime.Now.ToString("dd/MM/yyyy");
                        editFormData.Data.RequestedDate             = DateTime.Now.ToString("dd/MM/yyyy");
                        editFormData.Data.WorkOrderIDs = param["workOrderIDs"].ToString();

                        if (param.ContainsKey("workOrderIDs") && param["workOrderIDs"] != null && !string.IsNullOrEmpty(param["workOrderIDs"].ToString()))
                        {
                            var productionItemByWorkOrders = context.PurchaseRequestMng_function_GetProductionItemByWorkOrder(param["workOrderIDs"].ToString(), Library.Helper.ConvertStringToInt(param["branchID"].ToString()));

                            int i = 0;
                            foreach (var item in productionItemByWorkOrders.ToList())
                            {
                                i = i - 1;
                                if (item != null /* && item.ProductionItemTypeID != 3*/)
                                {
                                    DTO.PurchaseRequestDetailDTO purchaseRequestDetail = new DTO.PurchaseRequestDetailDTO();
                                    purchaseRequestDetail.PurchaseRequestDetailID = i;
                                    purchaseRequestDetail.ProductionItemID        = item.ProductionItemID;
                                    purchaseRequestDetail.ProductionItemUD        = item.ProductionItemUD;
                                    purchaseRequestDetail.ProductionItemNM        = item.ProductionItemNM;
                                    purchaseRequestDetail.RequestQnt            = item.RequestQnt;
                                    purchaseRequestDetail.OrderQnt              = item.OrderQnt;
                                    purchaseRequestDetail.StockQnt              = item.StockQnt;
                                    purchaseRequestDetail.IsApproved            = item.IsApproved;
                                    purchaseRequestDetail.UnitNM                = item.UnitNM;
                                    purchaseRequestDetail.WorkOrderID           = item.WorkOrderID;
                                    purchaseRequestDetail.WorkOrderUD           = item.WorkOrderUD;
                                    purchaseRequestDetail.ProformaInvoiceNo     = item.ProformaInvoiceNo;
                                    purchaseRequestDetail.ProductionItemGroupID = item.ProductionItemGroupID;
                                    purchaseRequestDetail.ETA = editFormData.Data.ETA;

                                    editFormData.Data.PurchaseRequestDetailDTOs.Add(purchaseRequestDetail);
                                }
                            }
                        }
                    }

                    string workOrderIDs = editFormData.Data.WorkOrderIDs;

                    // Client
                    var dbClient = context.PurchaseRequestMng_function_GetClientByWorkOrder(workOrderIDs).ToList();
                    foreach (var item in dbClient)
                    {
                        DTO.ClientByWorkOrderDTO client = new DTO.ClientByWorkOrderDTO();
                        client.ClientID = item.ClientID;
                        client.ClientUD = item.ClientUD;

                        editFormData.ClientByWorkOrders.Add(client);
                    }

                    // ProformaInvoice
                    var dbSaleOrder = context.PurchaseRequestMng_function_GetProformaInvoiceByWorkOrder(workOrderIDs).ToList();
                    foreach (var item in dbSaleOrder)
                    {
                        DTO.ProformaInvoiceNoByWorkOrderDTO saleOrder = new DTO.ProformaInvoiceNoByWorkOrderDTO();
                        saleOrder.SaleOrderID       = item.SaleOrderID;
                        saleOrder.ProformaInvoiceNo = item.ProformaInvoiceNo;

                        editFormData.ProformaInvoiceByWorkOrders.Add(saleOrder);
                    }

                    // Set default request status always open
                    if (editFormData.Data.PurchaseRequestStatusID == null)
                    {
                        editFormData.Data.PurchaseRequestStatusID = 1;
                    }

                    return(editFormData);
                }
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
                notification.DetailMessage.Add(ex.Message);
                if (ex.GetBaseException() != null)
                {
                    notification.DetailMessage.Add(ex.GetBaseException().Message);
                }
                return(editFormData);
            }
        }