public async Task <NonVatDocumentDto> EditNonVatDocumentAsync(NonVatDocumentDto nonVatDocumentDto) { var document = await NonVatDocumentRepo.GetByIdAsync(nonVatDocumentDto.Id); if (document is null) { nonVatDocumentDto.ErrorMassages.Add($"Грешка, не съществува документ с №{nonVatDocumentDto.Id}!"); return(nonVatDocumentDto); } if (nonVatDocumentDto.PartnerId == 0) { nonVatDocumentDto.ErrorMassages.Add($"Моля въведете контрагент!"); return(nonVatDocumentDto); } var companyId = await NonVatDocumentRepo.Context.Companies.OrderBy(c => c.Id).Select(c => c.Id).LastAsync(); document.CompanyObjectId = await NonVatDocumentRepo.Context.CompanyObjects .Where(o => o.GUID == userCompanyTemp.CompanyObjectGUID) .Select(o => o.Id) .FirstOrDefaultAsync(); document.PartnerId = nonVatDocumentDto.PartnerId; document.CompanyId = companyId; document.WriterEmployeeId = await employeeService.GetOrSetEmployeeIdByNameAsync(nonVatDocumentDto.WriterEmployee); document.RecipientEmployeeId = await partnerEmployeeService.GetOrSetEmployeeIdByNameAsync(nonVatDocumentDto.RecipientEmployee, nonVatDocumentDto.PartnerId); document.CreatedDate = SetDate(nonVatDocumentDto.CreatedDate, nonVatDocumentDto); document.VatReasonDate = SetDate(nonVatDocumentDto.VatReasonDate, nonVatDocumentDto); document.PaymentTypeId = nonVatDocumentDto.PaymentTypeId; document.BankAccountId = await GetBankAccountIdIfRequare(nonVatDocumentDto); document.Type = (Data.CompanyData.Models.Enums.NonVatDocumentTypes)nonVatDocumentDto.Type; document.FreeText = nonVatDocumentDto.FreeText; document.Description = nonVatDocumentDto.Description; await ProcessingEditSales(nonVatDocumentDto); document.SubTottal = nonVatDocumentDto.SubTottal; document.Vat = nonVatDocumentDto.Vat; document.Tottal = nonVatDocumentDto.Tottal; if (nonVatDocumentDto.HasErrors) { return(nonVatDocumentDto); } NonVatDocumentRepo.Update(document); await NonVatDocumentRepo.SaveChangesAsync(); return(nonVatDocumentDto); }
public async Task <PartnerDto> GetPartnerByIdAsync(int id) { if (id != 0) { var partner = await partnerRepository.GetByIdAsync(id); var result = new PartnerDto() { Id = partner.Id, Name = partner.Name, Country = partner.Country, City = partner.City, Address = partner.Address, EIK = partner.EIK, IsVatRegistered = partner.IsVatRegistered, IsActive = partner.IsActive, VatId = partner.VatId, MOL = partner.MOL, Email = partner.Email, }; return(result); } return(null); }