Esempio n. 1
0
        public void Update(Models.Tax tax)
        {
            using var context = Context();
            if (context.Tax.Any(u => u.Name == tax.Name && u.OrganisationId == tax.OrganisationId && u.Id != tax.Id))
            {
                throw new Exception("Tax name already exist");
            }
            foreach (var component in tax.Components)
            {
                if (context.TaxComponent.Any(u => u.Name == component.Name && u.Tax.OrganisationId == tax.OrganisationId && u.Id != component.Id))
                {
                    throw new Exception($"Component name {component.Name} already exist");
                }
            }
            var updateTax = context.Tax.FirstOrDefault(u => u.Id == tax.Id && u.OrganisationId == tax.OrganisationId);

            if (updateTax == null)
            {
                throw new Exception("No tax to update");
            }
            updateTax.Name = tax.Name;
            foreach (var component in updateTax.TaxComponent.ToList())
            {
                var c = tax.Components.FirstOrDefault(u => u.Id == component.Id);
                component.Name = c.Name;
            }
            context.SaveChanges();
        }
Esempio n. 2
0
 public void Create(Models.Tax tax)
 {
     using var context = Context();
     if (tax.Components == null || !tax.Components.Any() || tax.Components.Any(t => string.IsNullOrEmpty(t.Name)) || tax.Components.Any(t => t.Rate < 0))
     {
         throw new Exception("Invalid data to create");
     }
     if (context.Tax.Any(u => u.Name == tax.Name && u.OrganisationId == tax.OrganisationId))
     {
         throw new Exception("Tax name already exist");
     }
     foreach (var component in tax.Components)
     {
         if (context.TaxComponent.Any(u => u.Name == component.Name && u.Tax.OrganisationId == tax.OrganisationId))
         {
             throw new Exception($"Component name {component.Name} already exist");
         }
     }
     context.Tax.Add(new Dal.Models.Tax
     {
         Name           = tax.Name,
         OrganisationId = tax.OrganisationId,
         TaxComponent   = tax.Components.Select(u => new Dal.Models.TaxComponent
         {
             Name = u.Name,
             Rate = u.Rate,
         }).ToHashSet()
     });
     context.SaveChanges();
 }
        public Models.Tax ParseToTax()
        {
            Models.Tax tax = new Models.Tax
            {
                Id             = Guid.NewGuid().ToString(),
                Code           = this.Code,
                Name           = this.Name,
                OrganizationId = this.OrganizationId,
                Type           = this.Type,
                Value          = this.Value
            };

            return(tax);
        }
        public async Task <ActionResult <Tax> > SaveTax([FromBody] TaxDTO _TaxP)
        {
            Tax _Tax = _TaxP;

            try
            {
                // DTO_NumeracionSAR _liNumeracionSAR = new DTO_NumeracionSAR();
                string     baseadress = config.Value.urlbase;
                HttpClient _client    = new HttpClient();
                _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var result = await _client.GetAsync(baseadress + "api/Tax/GetTaxById/" + _Tax.TaxId);

                string valorrespuesta = "";
                _Tax.FechaModificacion   = DateTime.Now;
                _Tax.UsuarioModificacion = HttpContext.Session.GetString("user");
                if (result.IsSuccessStatusCode)
                {
                    valorrespuesta = await(result.Content.ReadAsStringAsync());
                    _Tax           = JsonConvert.DeserializeObject <TaxDTO>(valorrespuesta);
                }

                if (_Tax == null)
                {
                    _Tax = new Models.Tax();
                }

                if (_TaxP.TaxId == 0)
                {
                    _Tax.FechaCreacion   = DateTime.Now;
                    _Tax.UsuarioCreacion = HttpContext.Session.GetString("user");
                    var insertresult = await Insert(_TaxP);
                }
                else
                {
                    _TaxP.UsuarioCreacion = _Tax.UsuarioCreacion;
                    _TaxP.FechaCreacion   = _Tax.FechaCreacion;
                    var updateresult = await Update(_Tax.TaxId, _TaxP);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                throw ex;
            }

            return(Json(_Tax));
        }