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); }
private async Task <CompanyRecordsDBContext> CreateDbContext(string name) { var options = new DbContextOptionsBuilder <CompanyRecordsDBContext>() .UseInMemoryDatabase(databaseName: name) .Options; var context = new CompanyRecordsDBContext(options); var companies = GetFakeData(); await context.AddRangeAsync(companies); await context.SaveChangesAsync(); return(context); }