public async Task <ResponseObject <CompanyViewModel> > UpdateCompany(CompanyViewModel companyVm) { ResponseObject <CompanyViewModel> responseObject = new ViewModels.ResponseObject <CompanyViewModel>(); Company company = _context.Company.Find(companyVm.Id); ////validating company var validation = CompanyValidation.ValidationForCompany(companyVm); if (!validation.Valid) { responseObject.Message = validation.Message; responseObject.Success = false; return(responseObject); } // checking for duplicate isins var checkIsin = await _context.Company.FirstOrDefaultAsync(x => x.ISIN.ToLower() == companyVm.ISIN.ToLower() && x.Id != companyVm.Id); if (checkIsin != null) { responseObject.Message = "ISIN already exists"; responseObject.Success = false; return(responseObject); } if (company != null) { company.Name = companyVm.Name; company.Ticker = companyVm.Ticker; company.WebSite = companyVm.WebSite; company.Exchange = companyVm.Exchange; company.ISIN = companyVm.ISIN; _context.Update(company); await _context.SaveChangesAsync(); } responseObject.Success = true; responseObject.Result = MappingToViewModel(company); return(responseObject); }
public async Task <ResponseObject <CompanyViewModel> > GetCompanyByIsin(string isin) { ResponseObject <CompanyViewModel> responseObject = new ViewModels.ResponseObject <CompanyViewModel>(); Company company = await _context.Company.FirstOrDefaultAsync(x => x.ISIN.ToLower() == isin.ToLower()); if (company != null) { responseObject.Result = MappingToViewModel(company); responseObject.Success = true; } else { responseObject.Success = false; responseObject.Message = "Company not found"; } return(responseObject); }
public async Task <ResponseObject <CompanyViewModel> > CreateCompany(CompanyViewModel companyVm) { ResponseObject <CompanyViewModel> responseObject = new ViewModels.ResponseObject <CompanyViewModel>(); ////validating company var validation = CompanyValidation.ValidationForCompany(companyVm); if (!validation.Valid) { responseObject.Message = validation.Message; responseObject.Success = false; return(responseObject); } // checking for duplicate isins var checkIsin = await _context.Company.FirstOrDefaultAsync(x => x.ISIN.ToLower() == companyVm.ISIN.ToLower()); if (checkIsin != null) { responseObject.Message = "ISIN already exists"; responseObject.Success = false; return(responseObject); } Company company = MappingToCompany(companyVm); _context.Company.Add(company); await _context.SaveChangesAsync(); responseObject.Result = MappingToViewModel(company); responseObject.Success = true; return(responseObject); }