コード例 #1
0
        public async Task <IActionResult> UpdateAsync([FromBody] FacturasDTO modelDto)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                if (modelDto == null)
                {
                    return(BadRequest());
                }

                response = await _Application.UpdateAsync(modelDto);

                if (response.IsSuccess)
                {
                    return(Ok(response));
                }
                else
                {
                    return(BadRequest(response));
                }
            }
            catch (Exception ex)
            {
                response.Data      = false;
                response.IsSuccess = false;
                response.Message   = ex.Message;

                return(BadRequest(response));
            }
        }
コード例 #2
0
        protected void btnBuscarCliente_Click(object sender, EventArgs e)
        {
            List <PedidoEntidad> Pedidos = new List <PedidoEntidad>();

            Pedidos = pedidoCore.SelectAllByCUIT(usuarioentidad.CUIT);
            //List<ComprobanteEntidad> FacturasDelCliente = new List<ComprobanteEntidad>();
            List <FacturasDTO> FacturasAMostrarDelCliente = new List <FacturasDTO>();

            Facturas.Clear();
            foreach (var pedido in Pedidos)
            {
                if (pedido.miUsuario.NombreUsuario == txtClienteBusqueda.Text)
                {
                    var Comprobantes = ComprobanteBLL.ComprobanteSelectByIdPedido(pedido.IdPedido);
                    foreach (var comprobante in Comprobantes)
                    {
                        if (comprobante.miTipoComprobante.IdTipoComprobante == 1 || comprobante.miTipoComprobante.IdTipoComprobante == 2 || comprobante.miTipoComprobante.IdTipoComprobante == 3)
                        {
                            Facturas.Add(comprobante);
                        }
                    }
                }
            }

            if (Facturas.Count == 0)
            {
                contenedorsinfacturas.Visible = true;
                sinfacturas.InnerHtml         = "<p>Este usuario no tiene facturas disponibles para consultar.</p>";
            }
            else
            {
                contenedorsinfacturas.Visible = false;
            }

            for (int i = 0; i < Facturas.Count; i++)
            {
                FacturasDTO FacturaAMostrar = new FacturasDTO();
                FacturaAMostrar.TipoComprobante = ComprobanteBLL.TipoComprobanteSelectById(Facturas[i].miTipoComprobante.IdTipoComprobante).DescripTipoComprobante;
                char   TipoFacturaLetra    = FacturaAMostrar.TipoComprobante[FacturaAMostrar.TipoComprobante.Length - 1];
                string Sucursal4caracteres = "";
                Sucursal4caracteres = Facturas[i].miSucursal.IdSucursal.ToString("D4");
                string NumeroFactura8Caracteres = "";
                NumeroFactura8Caracteres         = Facturas[i].NroComprobante.ToString("D8");
                FacturaAMostrar.NroComprobante   = "FC" + TipoFacturaLetra + "-" + Sucursal4caracteres + "-" + NumeroFactura8Caracteres;
                FacturaAMostrar.FechaComprobante = Facturas[i].FechaComprobante;


                List <ComprobanteDetalleEntidad> Detalles = new List <ComprobanteDetalleEntidad>();

                Detalles = ComprobanteBLL.DetallesSelectByComprobante(Facturas[i].NroComprobante, Facturas[i].miSucursal.IdSucursal, Facturas[i].miTipoComprobante.IdTipoComprobante);
                FacturaAMostrar.Total = MontoTotalPorFactura(Detalles);
                FacturasAMostrarDelCliente.Add(FacturaAMostrar);
            }

            grilladefacturas.DataSource          = FacturasAMostrarDelCliente;
            grilladefacturas.AutoGenerateColumns = false;
            grilladefacturas.DataBind();
        }
コード例 #3
0
        public async Task <ActionResult <FacturasDTO> > Get(string codigoComprobante, int?numeroComprobante, int?idOperacion)
        {
            FacturasDTO factura = Mapper.Map <FacturasDTO>(await Repository.Get(codigoComprobante, numeroComprobante, idOperacion));


            if (factura == null)
            {
                throw new BadRequestException("El comprobante solicitado no existe.");
            }
            Vtrmvh header = await Repository.RecuperoDatosCAE("VT", factura.CodigoComprobante, factura.NumeroComprobante);

            factura.NumeroCAE      = header.Vtrmvh_Nrocae;
            factura.VencimientoCAE = header.Vtrmvh_Vencae;

            factura.ImpuestosFactura.AddRange(await Repository.RecuperoImpuestosComprobante("VT", factura.CodigoComprobante, factura.NumeroComprobante));
            factura.ImporteTotal = await Repository.RecuperoTotalComprobante("VT", factura.CodigoComprobante, factura.NumeroComprobante);

            return(factura);
        }
コード例 #4
0
        public async Task <ActionResult <FacturaResponse> > Post([FromBody] FacturasDTO factura)
        {
            Logger.Information($"Se recibio posteo de nueva factura {factura.CircuitoOrigen} - {factura.CircuitoAplicacion} - " +
                               $"Id de operacion: {factura.IdOperacion}");

            int idOperacion = factura.IdOperacion;

            if (Env.IsProduction())
            {
                if (int.TryParse(factura.Cliente, out _))
                {
                    factura.Cliente = string.Format("{0:00000000}", int.Parse(factura.Cliente));
                }
                ;
                if (int.TryParse(factura.CodigoSubcuenta, out _))
                {
                    factura.CodigoSubcuenta = string.Format("{0:00000000}", int.Parse(factura.CodigoSubcuenta));
                }
            }


            Fcrmvh facturaFormat = Mapper.Map <FacturasDTO, Fcrmvh>(factura);

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("Error", "Error de formato");
            }

            FacturaResponse response = await Repository.GraboFactura(facturaFormat, "NEW");

            response.IdOperacion = idOperacion;

            if (response.Estado != 200)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
コード例 #5
0
        public async Task <Response <bool> > UpdateAsync(FacturasDTO modelDto)
        {
            var response = new Response <bool>();

            try
            {
                var resp = _mapper.Map <Facturas>(modelDto);
                response.Data = await _Domain.UpdateAsync(resp);

                if (response.Data)
                {
                    response.IsSuccess = true;
                    response.Message   = "Registro Exitoso!";
                }
            }
            catch (Exception ex)
            {
                response.Data      = false;
                response.IsSuccess = false;
                response.Message   = ex.Message;
            }

            return(response);
        }
コード例 #6
0
        private void CargarGrillaDeFacturas()
        {
            //usuarioentidad = (UsuarioEntidad)Session["Usuario"];

            //List<PedidoEntidad> Pedidos = new List<PedidoEntidad>();
            //Pedidos = pedidoCore.SelectAllByCUIT(usuarioentidad.CUIT);

            //foreach (var pedido in Pedidos)
            //{

            //    var Comprobantes = ComprobanteBLL.ComprobanteSelectByIdPedido(pedido.IdPedido);
            //    foreach (var comprobante in Comprobantes)
            //    {
            //        if (comprobante.IdTipoComprobante == 1 || comprobante.IdTipoComprobante == 2 || comprobante.IdComprobante == 3)
            //        {
            //            Facturas.Add(comprobante);
            //        }
            //    }
            //}
            Facturas.Clear();
            FacturasAMostrar.Clear();

            var Comprobantes = ComprobanteBLL.ComprobanteSelectAllByCUIT();

            foreach (var comprobante in Comprobantes)
            {
                if (comprobante.miTipoComprobante.IdTipoComprobante == 1 || comprobante.miTipoComprobante.IdTipoComprobante == 2 || comprobante.miTipoComprobante.IdTipoComprobante == 3)
                {
                    Facturas.Add(comprobante);
                }
            }


            if (Facturas.Count == 0)
            {
                sinfacturas.InnerHtml = "<strong>No hay facturas disponibles para consultar</strong>";
            }
            else
            {
                contenedorsinfacturas.Visible = false;
            }

            for (int i = 0; i < Facturas.Count; i++)
            {
                FacturasDTO FacturaAMostrar = new FacturasDTO();
                FacturaAMostrar.TipoComprobante = ComprobanteBLL.TipoComprobanteSelectById(Facturas[i].miTipoComprobante.IdTipoComprobante).DescripTipoComprobante;
                char   TipoFacturaLetra    = FacturaAMostrar.TipoComprobante[FacturaAMostrar.TipoComprobante.Length - 1];
                string Sucursal4caracteres = "";
                Sucursal4caracteres = Facturas[i].miSucursal.IdSucursal.ToString("D4");
                string NumeroFactura8Caracteres = "";
                NumeroFactura8Caracteres         = Facturas[i].NroComprobante.ToString("D8");
                FacturaAMostrar.NroComprobante   = "FC" + TipoFacturaLetra + "-" + Sucursal4caracteres + "-" + NumeroFactura8Caracteres;
                FacturaAMostrar.FechaComprobante = Facturas[i].FechaComprobante;


                List <ComprobanteDetalleEntidad> Detalles = new List <ComprobanteDetalleEntidad>();

                Detalles = ComprobanteBLL.DetallesSelectByComprobante(Facturas[i].NroComprobante, Facturas[i].miSucursal.IdSucursal, Facturas[i].miTipoComprobante.IdTipoComprobante);
                FacturaAMostrar.Total = MontoTotalPorFactura(Detalles);
                FacturasAMostrar.Add(FacturaAMostrar);
            }

            grilladefacturas.DataSource = null;
            FacturasAMostrar            = (List <FacturasDTO>)FacturasAMostrar.OrderByDescending(X => X.FechaComprobante).ToList();
            grilladefacturas.DataSource = FacturasAMostrar;
            grilladefacturas.DataBind();
        }
コード例 #7
0
        public JsonResult GuardarProyecto(int idProyecto, int frIdEmpresa, int Cliente, string NombreProyecto, string fecha_inicio, string fecha_fin, decimal Costo, int Moneda, int CantidadFacturas, int TipoCambio, int IVA, int estado, string Comentarios, string tablaJSON)
        {
            var proyecto = new ProyectosDTO();

            if (idProyecto != 0)
            {
                proyecto.Id_Proyectos = idProyecto;
            }
            proyecto.Id_Empresa                = frIdEmpresa;
            proyecto.Id_Clientes_Proyectos     = Cliente;
            proyecto.Nombre_Proyectos          = NombreProyecto;
            proyecto.Numero_Facturas_Proyectos = CantidadFacturas;
            proyecto.Fecha_Ini_Proyectos       = Convert.ToDateTime(fecha_inicio);
            if (fecha_fin != string.Empty)
            {
                proyecto.Fecha_Fin_Proyectos = Convert.ToDateTime(fecha_fin);
            }
            proyecto.Costo_Proyectos          = Costo;
            proyecto.Id_Tipo_Cambio_Proyectos = TipoCambio;
            proyecto.Id_Moneda_Proyectos      = Moneda;
            proyecto.Id_IVA_Proyectos         = IVA;
            proyecto.Comentarios_Proyecto     = Comentarios;
            proyecto.Estado = estado == 1;

            var factLts = new List <FacturasDTO>();

            #region JSN Facturas

            var     jArray = JArray.Parse(tablaJSON);
            JObject a      = JObject.Parse(jArray.First().ToString());

            foreach (var prod in ((JArray)a.SelectToken("ltsFacturas")))
            {
                var facturaJ = new FacturasDTO();
                facturaJ.IdFactura         = Convert.ToInt16(((JValue)prod.SelectToken("IdFactura")).Value);
                facturaJ.Monto_Factura     = Convert.ToDecimal(((JValue)prod.SelectToken("Monto")).Value);
                facturaJ.Fecha_fin_Factura = Convert.ToDateTime(((JValue)prod.SelectToken("Fecha")).Value);
                facturaJ.IdCliente         = Cliente;
                facturaJ.IdEmpresa         = frIdEmpresa;
                if (idProyecto != 0)
                {
                    facturaJ.IdProyecto = idProyecto;
                }
                facturaJ.C_Id_IVA         = IVA;
                facturaJ.C_Id_Moneda      = Moneda;
                facturaJ.C_Id_Tipo_Cambio = TipoCambio;
                facturaJ.Tipo_Factura     = "PR";
                var EstadoFact = ((JValue)prod.SelectToken("Estado")).Value.ToString();
                facturaJ.Id_Estado_Factura = Convert.ToInt16(EstadoFact.Equals("SI") ? 2 :(EstadoFact.Equals("NO") ? 1 : 3));
                if (((JValue)prod.SelectToken("NoFactura")).Value.ToString() != "0")
                {
                    facturaJ.No_Factura = Convert.ToInt16(((JValue)prod.SelectToken("NoFactura")).Value);
                }

                factLts.Add(facturaJ);
            }

            #endregion

            proyecto.facturas = factLts;

            var gdProyecto = new ProyectosData().GuardarProyecto(proyecto);

            if (gdProyecto.Code != 0)
            {
                return(Json(new { success = false, message = gdProyecto.Message }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
        /// <summary>
        /// Guardar Factura
        /// </summary>
        /// <returns>Lista de tipo asignacion</returns>
        public MethodResponseDTO <int> GuardarFactura(FacturasDTO factura)
        {
            using (var context = new DB_9F97CF_CatarsysSGCEntities())
            {
                try
                {
                    var response = new MethodResponseDTO <int>()
                    {
                        Code = 0, Result = 1
                    };


                    if (factura.IdFactura == 0)
                    {
                        Facturas facturasDB = Mapper.Map <Facturas>(factura);
                        context.Facturas.Add(facturasDB);
                    }
                    else
                    {
                        var fact = context.Facturas.SingleOrDefault(x => x.IdFactura == factura.IdFactura);

                        fact.IdFactura                 = factura.IdFactura;
                        fact.IdCliente                 = factura.IdCliente;
                        fact.IdEmpresa                 = factura.IdEmpresa;
                        fact.IdAsignacion              = factura.IdAsignacion;
                        fact.IdProyecto                = factura.IdProyecto;
                        fact.C_Id_IVA                  = factura.C_Id_IVA;
                        fact.C_Id_Moneda               = factura.C_Id_Moneda;
                        fact.C_Id_Tipo_Cambio          = factura.C_Id_Tipo_Cambio;
                        fact.C_Id_Metodo_Pago          = factura.C_Id_Metodo_Pago;
                        fact.Tipo_Factura              = factura.Tipo_Factura;
                        fact.Fecha_Inicio_Factura      = factura.Fecha_Inicio_Factura;
                        fact.Fecha_fin_Factura         = factura.Fecha_fin_Factura;
                        fact.No_Factura                = factura.No_Factura;
                        fact.Descuento_Factura         = factura.Descuento_Factura;
                        fact.Monto_Factura             = factura.Monto_Factura;
                        fact.Ultimos_4_digitos_Factura = factura.Ultimos_4_digitos_Factura;
                    }
                    context.SaveChanges();

                    return(response);
                }
                catch (DbEntityValidationException e)
                {
                    string Result = string.Empty;
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Result += string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Result += string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    Result += ("Code: -100, Mensaje: " + e.Message + ", InnerException: " + (e.InnerException != null ? e.InnerException.Message : ""));
                    return(new MethodResponseDTO <int> {
                        Code = -100, Result = 0, Message = e.Message
                    });
                }
                catch (Exception ex)
                {
                    return(new MethodResponseDTO <int> {
                        Code = -100, Result = 0, Message = "GuardarAsignacion: " + ex.Message
                    });
                }
            }
        }