/// <summary> /// Save And Update Customer Document Details /// </summary> /// <param name="listCustomerDocumentsDetails"></param> public void SaveAndUpdateCustomerDocumentDetails(IList<CustomerDocDetailsDTO> listCustDocDetails, IList<CustomerDocumentsDTO> listCustDocument) { using (TransactionScope transactionScope = new TransactionScope()) { for (int i = 0; i < listCustDocDetails.Count; i++) { customerdocdetail custDocdetailsEntity = new customerdocdetail(); CustomerDocService custDocuments = new CustomerDocService(); CustomerDocDetailsDTO customerDocDetail = custDocuments.GetCustomerDocumentDetailsByDocIdAndCustId( listCustDocDetails[i].Cust_Doc_CustId, listCustDocDetails[i].Cust_Doc_DocId); if (customerDocDetail.Cust_Doc_Id > 0) { AutoMapper.Mapper.Map(customerDocDetail, custDocdetailsEntity); custDocdetailsEntity.Cust_Doc_FileName = listCustDocDetails[i].Cust_Doc_FileName; custDocdetailsEntity.Cust_Doc_No = listCustDocDetails[i].Cust_Doc_No; custDocdetailsEntity.Cust_Doc_ExDate = listCustDocDetails[i].Cust_Doc_ExDate; ESalesUnityContainer.Container.Resolve<IGenericRepository<customerdocdetail>>() .Update(custDocdetailsEntity); } else { AutoMapper.Mapper.Map(listCustDocDetails[i], custDocdetailsEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<customerdocdetail>>() .Save(custDocdetailsEntity); } CustomerDocumentsDTO customerDocument = custDocuments.GetCustomerDocumentDetailsByCustDocId(custDocdetailsEntity.Cust_Doc_Id); customerdocument custDocumentEntity = new customerdocument(); if (customerDocument.CustDoc_Id > 0) { AutoMapper.Mapper.Map(customerDocument, custDocumentEntity); if (listCustDocument[i].CustDoc_File == null) { custDocumentEntity.CustDoc_IsDeleted = true; } else { custDocumentEntity.CustDoc_File = listCustDocument[i].CustDoc_File; } ESalesUnityContainer.Container.Resolve<IGenericRepository<customerdocument>>().Update(custDocumentEntity); } else { AutoMapper.Mapper.Map(listCustDocument[i], custDocumentEntity); custDocumentEntity.CustDoc_Doc_Id = custDocdetailsEntity.Cust_Doc_Id; ESalesUnityContainer.Container.Resolve<IGenericRepository<customerdocument>>().Save(custDocumentEntity); } } transactionScope.Complete(); } }
/// <summary> /// Delete Customer by customerId /// </summary> /// <param name="customerId">Int32:customerId</param> public void DeleteCustomer(int customerId) { using (TransactionScope transactionScope = new TransactionScope()) { IList<TruckDetailsDTO> lstTruckDetails = ESalesUnityContainer.Container.Resolve<ITruckService>() .GetTruckDetailsForCustomer(customerId); (from truckDetail in lstTruckDetails select truckDetail).Update( truckDetail => truckDetail.Truck_IsDeleted = true); foreach (TruckDetailsDTO truckDetails in lstTruckDetails) { ESalesUnityContainer.Container.Resolve<ITruckService>().DeleteTruck(truckDetails); } IList<AuthRepDTO> lstAuthRepDetails = ESalesUnityContainer.Container.Resolve<IAuthRepService>() .GetAuthRepDetailsForCustomer(customerId); (from authRepDetails in lstAuthRepDetails select authRepDetails).Update( authRepDetails => authRepDetails.AuthRep_IsDeleted = true); foreach (var authRepDetails in lstAuthRepDetails) { ESalesUnityContainer.Container.Resolve<IAuthRepService>().DeleteAuthRep(authRepDetails); } IList<CustomerMaterialMapDTO> lstCustMaterialDetails = ESalesUnityContainer.Container .Resolve<ICustomerMaterialService>().GetCustomerMaterialDetailsByCustomerId(customerId); (from customerMaterials in lstCustMaterialDetails select customerMaterials).Update( customerMaterials => customerMaterials.Cust_Mat_IsDeleted = true); foreach (var customerMaterials in lstCustMaterialDetails) { CustomerMaterialService custMaterialService = new CustomerMaterialService(); custMaterialService.DeleteCustomerMaterials(customerMaterials); } CustomerDocService custDocuments = new CustomerDocService(); IList<CustomerDocDetailsDTO> lstCustDocDetails = custDocuments.GetCustomerDocumentDetails(customerId); (from customerDocs in lstCustDocDetails select customerDocs).Update( customerDocs => customerDocs.Cust_Doc_IsDeleted = true); foreach (CustomerDocDetailsDTO customerDocs in lstCustDocDetails) { DeleteCustomerDocumentDetails(customerDocs); } CustomerDTO customerDetails = GetCustomerDetailsById(customerId); customerDetails.Cust_IsDeleted = true; customer customerEntity = new customer(); AutoMapper.Mapper.Map(customerDetails, customerEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<customer>>().Update(customerEntity); transactionScope.Complete(); } }