public IActionResult DeleteCompany(Guid id) { try { if (ModelState.IsValid) { CompanyServiceResponseModel createResponseReciever = _icompany.DeleteCompanyService(id); if (createResponseReciever.code == responseCode.ErrorOccured) { return(BadRequest(createResponseReciever.company, createResponseReciever.Message, createResponseReciever.code)); } else if (createResponseReciever.code == responseCode.Successful) { return(Ok(createResponseReciever.company, createResponseReciever.Message, createResponseReciever.code)); } else { return(BadRequest(null, "Error Occured", responseCode.ErrorOccured)); } } return(BadRequest(null, "Null Entity", responseCode.ErrorOccured)); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult UpdateCompany([FromBody] CompanyViewModel company) { try { if (ModelState.IsValid) { CompanyServiceResponseModel createMethodServiceResponseModel = _icompany.UpdateCompanyService(company); if (createMethodServiceResponseModel.code == responseCode.ErrorOccured) { return(BadRequest(createMethodServiceResponseModel.company, createMethodServiceResponseModel.Message, createMethodServiceResponseModel.code)); } else if (createMethodServiceResponseModel.code == responseCode.Successful) { return(Ok(createMethodServiceResponseModel.company, createMethodServiceResponseModel.Message, createMethodServiceResponseModel.code)); } else { return(BadRequest(null, "Error Occured", responseCode.ErrorOccured)); } } return(BadRequest(null, "Null Entity", responseCode.ErrorOccured)); } catch (Exception ex) { return(BadRequest(ex)); } }
//this service creates companies public CompanyServiceResponseModel CompanyCreationService(CompanyViewModel company) { try { //unit of work is used to replace _context. Company createdCompany = UnitOfWork.GetRepository <Company>().Single(p => p.Company_Name == company.Company_Name); if (createdCompany != null) { companyModel = new CompanyServiceResponseModel() { company = createdCompany, Message = "Entity Already Exists", code = responseCode.ErrorOccured }; return(companyModel); } else { //User ifUserExistsCheck = UnitOfWork.GetRepository<User>().Single(p => p.Id == company.Createdby_Userid); //if(ifUserExistsCheck != null) //{ createdCompany = new Company { Createdby_Userid = company.Createdby_Userid, Company_Name = company.Company_Name, Company_Description = company.Company_Description, Status = EntityStatus.Active, CreatedAt = DateTime.Now, CreatedAtTimeStamp = DateTime.Now.ToTimeStamp(), UpdatedAt = DateTime.Now, UpdatedAtTimeStamp = DateTime.Now.ToTimeStamp() }; UnitOfWork.GetRepository <Company>().Add(createdCompany); UnitOfWork.SaveChanges(); //Audit Logger _iauditExtension.Auditlogger(createdCompany.Id, createdCompany.Createdby_Userid, "You Created a Company"); companyModel = new CompanyServiceResponseModel() { company = createdCompany, Message = "Entity Created Successfully", code = responseCode.Successful }; return(companyModel); //} //else //{ // companyModel = new CompanyServiceResponseModel() { company = null, Message = "Creating User does not Exist", code = "005" }; // return companyModel; //} } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }
//this service deletes companies from the CRM. It does not actually delete this services, //It only changes there status from Active to Inactive. public CompanyServiceResponseModel DeleteCompanyService(Guid id) { try { Company company = UnitOfWork.GetRepository <Company>().Single(p => p.Id == id); if (company == null) { companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } else { if (company.Status == EntityStatus.Active) { company.Status = EntityStatus.InActive; UnitOfWork.GetRepository <Company>().Update(company); UnitOfWork.SaveChanges(); //Audit Logger _iauditExtension.Auditlogger(company.Id, company.Createdby_Userid, "You Deleted a Company"); companyModel = new CompanyServiceResponseModel() { company = company, Message = "Entity Deleted Successfully", code = responseCode.Successful }; return(companyModel); } else { companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }
//this service fetches companies by there id //I have an issue knowing what to return and the return type to use in this method public CompanyServiceResponseModel GetCompanyByIdService(Guid id) { try { Company company = UnitOfWork.GetRepository <Company>().Single(p => p.Id == id); //since i cant send company directly, i get the company and pass the values i need into the companyViewModel which i then return //CompanyViewModel companyViewModel = new CompanyViewModel //{ // Company_Name = company.Company_Name, // Id = company.Id //}; if (company != null) { if (company.Status == EntityStatus.Active) { companyModel = new CompanyServiceResponseModel() { company = company, Message = "Entity Fetched Successfully", code = responseCode.Successful }; return(companyModel); } else { companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } } companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw ex; } }
//this service updates a company by its id public CompanyServiceResponseModel UpdateCompanyService(CompanyViewModel company) { try { Company toBeUpdatedCompany = UnitOfWork.GetRepository <Company>().Single(p => p.Id == company.Id); if (toBeUpdatedCompany == null) { companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } else { if (toBeUpdatedCompany.Status == EntityStatus.Active) { //here i will assign directly what i want to update to the model instead of creating a new instance toBeUpdatedCompany.Company_Name = company.Company_Name; toBeUpdatedCompany.Company_Description = company.Company_Description; toBeUpdatedCompany.UpdatedAt = DateTime.Now; toBeUpdatedCompany.UpdatedAtTimeStamp = DateTime.Now.ToTimeStamp(); UnitOfWork.GetRepository <Company>().Update(toBeUpdatedCompany); UnitOfWork.SaveChanges(); //Audit Logger _iauditExtension.Auditlogger(toBeUpdatedCompany.Id, company.Createdby_Userid, "You Updated A Company"); companyModel = new CompanyServiceResponseModel() { company = toBeUpdatedCompany, Message = "Entity Updated Successfully", code = responseCode.Successful }; return(companyModel); //Company ifCompanyNameExistsCheck = UnitOfWork.GetRepository<Company>().Single(p => p.Company_Name == company.Company_Name); //if (ifCompanyNameExistsCheck == null) //{ //} //else //{ // companyModel = new CompanyServiceResponseModel() { company = toBeUpdatedCompany, Message = "Entity Already Exists", code = responseCode.ErrorOccured }; // return companyModel; //} } else { companyModel = new CompanyServiceResponseModel() { company = null, Message = "Entity Does Not Exist", code = responseCode.ErrorOccured }; return(companyModel); } } } catch (Exception ex) { _loggerManager.LogError(ex.Message); throw; } }