예제 #1
0
        /// <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();
            }
        }
예제 #2
0
        /// <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();
            }
        }