コード例 #1
0
        public EditFormData GetData(int userId, int id, out Notification notification)
        {
            DTO.EditFormData editFormData = new DTO.EditFormData();
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            try
            {
                using (ClientOfferMngEntities context = CreateContext())
                {
                    if (id > 0)
                    {
                        ClientOfferMng_ClientOffer_View dbItem;
                        dbItem = context.ClientOfferMng_ClientOffer_View
                                 .Include("ClientOfferMng_ClientOfferCostDetail_View")
                                 .Include("ClientOfferMng_ClientOfferAdditionalDetail_View")
                                 .Include("ClientOfferMng_ClientOfferConditionDetail_View").FirstOrDefault(o => o.ClientOfferID == id);
                        editFormData.Data = converter.DB2DTO_ClientOffer(dbItem);
                    }
                    else
                    {
                        editFormData.Data = new DTO.ClientOffer();
                        editFormData.Data.ClientOfferConditionDetailDTOs  = new List <DTO.ClientOfferConditionDetailDTO>();
                        editFormData.Data.ClientOfferCostDetailDTOs       = new List <DTO.ClientOfferCostDetailDTO>();
                        editFormData.Data.ClientOfferAdditionalDetailDTOs = new List <DTO.ClientOfferAdditionalDetailDTO>();

                        //DTO.ClientOfferCostDetailDTO costDetail;
                        //int costDetailID = -1;
                        //foreach (var costItem in context.ClientOfferMng_ClientCostItem_View.OrderBy(o => o.ClientCostTypeID).Where(o => o.IsDefault.HasValue && o.IsDefault.Value).ToList())
                        //{
                        //    if (costItem.ClientCostTypeID.HasValue && costItem.ClientCostTypeID.Value == 1)
                        //    {
                        //        foreach (var pol in context.POL.Where(o => o.IsIncludedInTransportOffer.HasValue && o.IsIncludedInTransportOffer.Value).ToList())
                        //        {
                        //            foreach (var pod in context.POD.Where(o => o.IsIncludedInTransportOffer.HasValue && o.IsIncludedInTransportOffer.Value))
                        //            {
                        //                costDetail = new ClientOfferCostDetailDTO();
                        //                costDetail.ClientOfferCostDetailID = costDetailID;
                        //                costDetail.ClientCostItemID = costItem.ClientCostItemID;
                        //                costDetail.Currency = costItem.Currency;
                        //                costDetail.POLID = pol.PoLID;
                        //                costDetail.PODID = pod.PoDID;
                        //                editFormData.Data.ClientOfferCostDetailDTOs.Add(costDetail);
                        //                costDetailID--;
                        //            }
                        //        }
                        //    }
                        //    else if (costItem.ClientCostTypeID.HasValue && costItem.ClientCostTypeID.Value == 2)
                        //    {
                        //        foreach (var pod in context.POD.Where(o => o.IsIncludedInTransportOffer.HasValue && o.IsIncludedInTransportOffer.Value))
                        //        {
                        //            costDetail = new ClientOfferCostDetailDTO();
                        //            costDetail.ClientOfferCostDetailID = costDetailID;
                        //            costDetail.ClientCostItemID = costItem.ClientCostItemID;
                        //            costDetail.Currency = costItem.Currency;
                        //            costDetail.PODID = pod.PoDID;
                        //            editFormData.Data.ClientOfferCostDetailDTOs.Add(costDetail);
                        //            costDetailID--;
                        //        }
                        //    }

                        //}
                    }
                    editFormData.Clients                  = supportFactory.GetClient();
                    editFormData.Currencies               = supportFactory.GetCurrency2();
                    editFormData.ClientCostItemDTOs       = this.GetClienttCostItem(out notification);
                    editFormData.ClientConditionItemDTOs  = this.GetClientConditionItem(out notification);
                    editFormData.ClientAdditionalItemDTOs = this.GetClientAdditionalItem(out notification);
                    editFormData.ClientCostTypes          = supportFactory.GetTransportCostType();
                    editFormData.ClientCostChargeTypes    = supportFactory.GetTransportCostChargeType();
                    editFormData.PaymentTerms             = supportFactory.GetPaymentTerm();
                    //POD, POL
                    List <Module.Support.DTO.POD> PODs = new List <Support.DTO.POD>();
                    PODs.Add(new Support.DTO.POD()
                    {
                        PoDID = -1, PoDName = "<<--All-->>"
                    });
                    PODs.AddRange(supportFactory.GetPOD());
                    editFormData.PODs = PODs;
                    //POL
                    List <Module.Support.DTO.POL> POLs = new List <Support.DTO.POL>();
                    POLs.Add(new Support.DTO.POL()
                    {
                        PoLID = -1, PoLname = "<<--All-->>"
                    });
                    POLs.AddRange(supportFactory.GetPOL());
                    editFormData.POLs = POLs;
                    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);
            }
        }