Esempio n. 1
0
        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);
        }