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); } }