public BusinessPartnerByConstructionSiteResponse Create(BusinessPartnerByConstructionSiteViewModel re) { BusinessPartnerByConstructionSiteResponse response = new BusinessPartnerByConstructionSiteResponse(); try { BusinessPartnerByConstructionSite addedBusinessPartnerByConstructionSite = unitOfWork.GetBusinessPartnerByConstructionSiteRepository().Create(re.ConvertToBusinessPartnerByConstructionSite()); unitOfWork.Save(); response.BusinessPartnerByConstructionSite = addedBusinessPartnerByConstructionSite.ConvertToBusinessPartnerByConstructionSiteViewModel(); response.Success = true; } catch (Exception ex) { response.BusinessPartnerByConstructionSite = new BusinessPartnerByConstructionSiteViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public BusinessPartnerByConstructionSiteResponse Delete(BusinessPartnerByConstructionSiteViewModel businessPartnerByConstructionSite) { BusinessPartnerByConstructionSiteResponse response = new BusinessPartnerByConstructionSiteResponse(); try { // First remove all employees on that construction site and that company var employeesByConstructionSite = unitOfWork.GetEmployeeByConstructionSiteRepository().GetEmployeeByConstructionSitesAndBusinessPartner( businessPartnerByConstructionSite.Company.Id, businessPartnerByConstructionSite.ConstructionSite.Id, businessPartnerByConstructionSite.BusinessPartner.Id); if (employeesByConstructionSite != null) { foreach (var item in employeesByConstructionSite) { unitOfWork.GetEmployeeByConstructionSiteRepository().Delete(item); Employee employee = unitOfWork.GetEmployeeRepository().GetEmployee((int)item.EmployeeId); employee.ConstructionSiteCode = ""; employee.ConstructionSiteName = ""; employee.UpdatedAt = DateTime.Now; } } BusinessPartnerByConstructionSite deletedBusinessPartnerByConstructionSite = unitOfWork.GetBusinessPartnerByConstructionSiteRepository() .Delete(businessPartnerByConstructionSite.ConvertToBusinessPartnerByConstructionSite()); unitOfWork.Save(); response.BusinessPartnerByConstructionSite = deletedBusinessPartnerByConstructionSite.ConvertToBusinessPartnerByConstructionSiteViewModel(); response.Success = true; } catch (Exception ex) { response.BusinessPartnerByConstructionSite = new BusinessPartnerByConstructionSiteViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }