Exemplo n.º 1
0
        /// <summary>
        /// update company in database
        /// </summary>
        /// <param name="dtoModel"></param>
        /// <returns></returns>
        public async Task <bool> UpdateCompanyAsync(CompanyUpdateInputDtoModel dtoModel)
        {
            var allCompanies = await this.conpanies.All()
                               .Include(x => x.Town)
                               .Include(x => x.UseFullCategory)
                               .ToListAsync();

            if (allCompanies.Any(x => x.Name == dtoModel.CompanyName &&
                                 x.Town.Name == dtoModel.TownName &&
                                 x.Address == dtoModel.Address &&
                                 x.Phone == dtoModel.Phone &&
                                 x.UseFullCategory.Name == dtoModel.CategoryName))
            {
                return(false);
            }

            var companyToChange = allCompanies.FirstOrDefault(x => x.Id == dtoModel.CompanyId);



            var allTowns = await this.townService.GetAllTownsAsync();

            var neededTown = allTowns.FirstOrDefault(x => x.Name == dtoModel.TownName);

            var allCategories = await this.useFullCategoryService.GetAlluseFullCategoriesAsync();

            var neededCategory = allCategories.FirstOrDefault(x => x.Name == dtoModel.CategoryName);

            companyToChange = CompanyUpdateServiceMapper.Map(companyToChange, dtoModel, neededTown, neededCategory);

            this.conpanies.Update(companyToChange);
            await this.conpanies.SaveAsync();

            return(true);
        }
Exemplo n.º 2
0
        public static Company Map(Company companyForCange,
                                  CompanyUpdateInputDtoModel dtoModel,
                                  Town neededTown,
                                  UseFullCategory neededCategory)
        {
            companyForCange.Name            = dtoModel.CompanyName;
            companyForCange.Town            = neededTown;
            companyForCange.Address         = dtoModel.Address;
            companyForCange.Phone           = dtoModel.Phone;
            companyForCange.UseFullCategory = neededCategory;

            return(companyForCange);
        }
        public static CompanyUpdateInputDtoModel Map(CompanyUpdateInputViewModel viewModel)
        {
            var dtoModel = new CompanyUpdateInputDtoModel
            {
                CompanyId    = viewModel.CompanyId,
                CompanyName  = viewModel.CompanyName,
                TownName     = viewModel.TownName,
                Address      = viewModel.Address,
                Phone        = viewModel.Phone,
                CategoryName = viewModel.CategoryName
            };

            return(dtoModel);
        }