Esempio n. 1
0
        private async Task CreateCompanyAppAsync(string connectionString, CompanyDto companyInputDto, string companyGUID, string objectGuid, string userId)
        {
            var obj = new CompanyAppObject()
            {
                ObjectName = "Стандарт",
                ObjectSlug = "standart",
                GUID       = objectGuid,
                IsActive   = true
            };

            var companyAppSlug = stringGenerator.GenerateSlug(companyInputDto.Name);
            var companyApp     = new CompanyApp()
            {
                CompanyName       = companyInputDto.Name,
                ConnStr           = connectionString,
                GUID              = companyGUID,
                Description       = companyInputDto.Description,
                CompanySlug       = companyAppSlug,
                ApplicationUserId = userId,
                IsActive          = false,
                IsVatRegistered   = companyInputDto.IsVatRegistered,
            };

            companyApp.CompanyAppObjects.Add(obj);

            await companyAppRepo.AddAsync(companyApp);

            await companyAppRepo.SaveChangesAsync();
        }
        public async Task Edit(CompanyObjectDto companyObjectDto)
        {
            if (companyObjectDto.IsActive == true)
            {
                await SetAllObjectNonActive();
            }
            var company = await companyRepository.All().Include(x => x.CompanyObjects).OrderBy(c => c.Id).LastAsync();

            var companyObject = company.CompanyObjects.Where(co => co.Id == companyObjectDto.Id).FirstOrDefault();

            if (company.GUID == userCompanyTemp.CompanyGUID)
            {
                var companyApp = await appRepository.All().Include(c => c.CompanyAppObjects).Where(c => c.GUID == company.GUID).FirstOrDefaultAsync();

                var companyAppObject = companyApp.CompanyAppObjects.Where(co => co.GUID == companyObject.GUID).FirstOrDefault();


                var companyObjectSlug = stringGenerator.GenerateSlug(companyObjectDto.Name);
                companyObjectDto.CompanyObjectSlug = companyObjectSlug;
                companyAppObject.ObjectName        = companyObjectDto.Name;
                companyAppObject.ObjectSlug        = companyObjectSlug;
                companyAppObject.IsActive          = companyObjectDto.IsActive;
                appRepository.Update(companyApp);

                companyObject.Name        = companyObjectDto.Name;
                companyObject.City        = companyObjectDto.City;
                companyObject.StartNum    = companyObjectDto.StartNum;
                companyObject.EndNum      = companyObjectDto.EndNum;
                companyObject.IsActive    = companyObjectDto.IsActive;
                companyObject.Description = companyObjectDto.Description;

                companyRepository.Update(company);
                await companyRepository.SaveChangesAsync();

                await appRepository.SaveChangesAsync();
            }
        }
Esempio n. 3
0
        public async Task <bool> Edit(CompanyDto companyDto)
        {
            try
            {
                using var transaction = await companyRepository.Context.Database.BeginTransactionAsync();

                var company = await companyRepository.All().OrderBy(c => c.Id).LastAsync();

                if (company.IsVatRegistered && !companyDto.IsVatRegistered)
                {
                    var vatTypeId = await vatTypeService.SetCorrectVatTypeOnNonVatRegisteredCompanyAsync();

                    await productService.SetAllProductToVatType(vatTypeId);
                }

                company.Name            = companyDto.Name;
                company.Address         = companyDto.Address;
                company.City            = companyDto.City;
                company.Country         = companyDto.Country;
                company.Description     = companyDto.Description;
                company.EIK             = companyDto.EIK;
                company.Email           = companyDto.Email;
                company.IsVatRegistered = companyDto.IsVatRegistered;
                company.LogoPath        = companyDto.LogoPath;
                company.MOL             = companyDto.MOL;
                company.VatId           = companyDto.VatId;

                companyRepository.Update(company);


                var companyApp = this.companyAppRepository.All().Where(c => c.GUID == company.GUID).FirstOrDefault();
                if (companyDto.IsActive == true)
                {
                    var allCompanyApp = this.companyAppRepository.All().Where(c => c.ApplicationUserId == companyApp.ApplicationUserId);
                    foreach (var comp in allCompanyApp)
                    {
                        comp.IsActive = false;
                        companyAppRepository.Update(comp);
                    }
                }

                var slug = stringGenerator.GenerateSlug(companyDto.Name);
                companyDto.CompanySlug     = slug;
                companyApp.CompanyName     = companyDto.Name;
                companyApp.CompanySlug     = slug;
                companyApp.Description     = companyDto.Description;
                companyApp.IsActive        = companyDto.IsActive;
                companyApp.IsVatRegistered = companyDto.IsVatRegistered;

                companyAppRepository.Update(companyApp);

                await companyRepository.SaveChangesAsync();

                await companyAppRepository.SaveChangesAsync();

                await transaction.CommitAsync();
            }
            catch (Exception)
            {
                return(false);

                throw;
            }
            return(true);
        }