示例#1
0
        /// <summary>
        /// Busqueda de las ventas segun filtro.
        /// </summary>
        /// <param name="idCliente">The identifier cliente.</param>
        /// <param name="init">The initialize.</param>
        /// <param name="end">The end.</param>
        /// <param name="filtros">The filtros.</param>
        /// <returns>IEnumerable&lt;ventaDto&gt;.</returns>
        public IEnumerable <ventaDto> SearchVentas(string idCliente, DateTime init, DateTime end, IDictionary <string, string> filtros)
        {
            try
            {
                #region Filter
                string stringParams = string.Empty;
                if (filtros != null)
                {
                    foreach (var item in filtros)
                    {
                        var key = "\"" + item.Key + "\"";
                        stringParams += " AND " + key + "=" + item.Value;
                    }
                }
                #endregion

                using (var dbContext = DbWeb.GetConection())
                {
                    var res = dbContext.Query <ventaDto>(QueryHelper.GetQuery(nameof(SearchVentas)) + stringParams, new { id = idCliente, init, end });
                    LastResult.Success = true;
                    return(res.ToArray());
                }
            }
            catch (Exception ex)
            {
                LastResult.ErrorMessage = ex.Message;
                return(null);
            }
        }
示例#2
0
 /// <summary>
 /// Gets the client.
 /// </summary>
 /// <param name="pstrId">The PSTR identifier.</param>
 /// <returns>clienteDto.</returns>
 public clienteDto GetClient(string pstrId)
 {
     try
     {
         using (var db = DbWeb.GetConection())
         {
             var user = db.Query <clienteDto>(QueryHelper.GetQuery(nameof(GetClient)), new { id = pstrId }).FirstOrDefault();
             LastResult.Success = true;
             return(user);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#3
0
 /// <summary>
 /// Obteien el Id de la venta segun la informacion proporcionada.
 /// </summary>
 /// <param name="tipoDoc">Tipo de documento</param>
 /// <param name="serie">Serie del Documento</param>
 /// <param name="correlativo">Correlativo del Documento</param>
 /// <param name="fecha">Fecha de Emision</param>
 /// <param name="total">Total de la Venta</param>
 /// <returns></returns>
 public string GetIdVenta(int tipoDoc, string serie, string correlativo, DateTime fecha, decimal total)
 {
     try
     {
         using (var dbContext = DbWeb.GetConection())
         {
             var venta = dbContext.Query <ventaDto>(QueryHelper.GetQuery(nameof(GetIdVenta)), new { tipoDoc, serie, correlativo, fecha, total }).FirstOrDefault();
             LastResult.Success = true;
             return(venta?.v_IdVenta);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#4
0
 /// <summary>
 /// Obtiene la cabecera de una venta
 /// </summary>
 /// <param name="idVenta">Id de la Venta</param>
 /// <returns>Entity</returns>
 public ventaDto GetVenta(string idVenta)
 {
     try
     {
         using (var dbContext = DbWeb.GetConection())
         {
             var venta = dbContext.Query <ventaDto>(QueryHelper.GetQuery(nameof(GetVenta)), new { idVenta }).FirstOrDefault();
             LastResult.Success = true;
             return(venta);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#5
0
 public List <ReporteDocumentoFactura> GetReporteInvoice(string id)
 {
     try
     {
         using (var con = DbWeb.GetConection())
         {
             var res = con.Query <ventaDto, ventadetalleDto, clienteDto, string, string, ReporteDocumentoFactura>(
                 QueryHelper.GetQuery(nameof(GetReporteInvoice)), (venta, detalle, c, unidad, igv) => new ReporteDocumentoFactura
             {
                 FechaRegistro  = venta.t_FechaRegistro ?? DateTime.Now,
                 NroDocCliente  = c == null ? string.Empty : c.v_NroDocIdentificacion,
                 NombreCliente  = c == null ? string.Empty : string.Join(" ", c.v_ApePaterno, c.v_ApeMaterno, c.v_PrimerNombre, c.v_SegundoNombre, c.v_RazonSocial, venta.v_NombreClienteTemporal).Trim(),
                 TipoDocCliente = c == null ? 6 : c.i_IdTipoIdentificacion ?? 1,
                 Direccion      = c == null ? venta.v_DireccionClienteTemporal : c.v_DirecPrincipal,
                 Documento      = venta.v_SerieDocumento + "-" + venta.v_CorrelativoDocumento,
                 TipoDocumento  = venta.i_IdTipoDocumento ?? 1,
                 Valor          = venta.d_Valor ?? 0,
                 ValorVenta     = venta.d_ValorVenta ?? 0,
                 Igv            = venta.d_IGV ?? 0,
                 Total          = venta.d_Total ?? 0M,
                 Descuento      = venta.d_Descuento ?? 0,
                 d_Igv          = igv,    // 18%
                 Moneda         = venta.i_IdMoneda ?? 1,
                 TipoCambio     = venta.d_TipoCambio ?? 0,
                 Gratuito       = venta.i_EsGratuito ?? 0,
                 CodigoArticulo = detalle.v_IdProductoDetalle,
                 Cantidad       = detalle.d_Cantidad ?? 0,
                 Descripcion    = detalle.v_DescripcionProducto,
                 Precio         = detalle.d_Precio ?? 0,
                 PrecioVenta    = detalle.d_PrecioVenta ?? 0,
                 d_Valor        = detalle.d_Valor ?? 0,
                 d_ValorVenta   = detalle.d_ValorVenta ?? 0,
                 d_Descuento    = detalle.d_Descuento ?? 0,
                 Observacion    = detalle.v_Observaciones ?? "",
                 Unidad         = unidad
             }, new { id }, splitOn: "v_IdVentaDetalle,v_IdCliente,v_Value1,v_Value1").ToList();
             LastResult = true;
             return(res);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#6
0
 /// <summary>
 /// Obtiene lista de ventas de un Cliente.
 /// </summary>
 /// <param name="idCliente">Id del Cliente</param>
 /// <returns>Lista de Ventas</returns>
 public List <ventaDto> GetListFromClient(string idCliente)
 {
     try
     {
         using (var dbContext = DbWeb.GetConection())
         {
             var items = dbContext.Query <ventaDto>(QueryHelper.GetQuery(nameof(GetListFromClient)), new { id = idCliente });
             LastResult.Success = true;
             return(items.ToList());
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#7
0
 /// <summary>
 /// Obtiene informacion necesaria para visualizar en la Web.
 /// </summary>
 /// <returns>dto</returns>
 public configuracionfacturacionDto GetLite()
 {
     try
     {
         using (var db = DbWeb.GetConection())
         {
             var config = db.Query <configuracionfacturacionDto>(QueryHelper.GetQuery(nameof(GetLite))).First();
             LastResult.Success = true;
             return(config);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#8
0
 /// <summary>
 /// Obtiene la configuracion de la Facturacion.
 /// </summary>
 /// <returns>dto de la configuracion</returns>
 public configuracionfacturacionDto Get()
 {
     try
     {
         using (var db = DbWeb.GetConection())
         {
             var config = db.Query <configuracionfacturacionDto>("SELECT * FROM configuracionfacturacion").First();
             LastResult.Success = true;
             return(config);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#9
0
 /// <summary>
 /// Gets the identifier client.
 /// </summary>
 /// <param name="pstrDocumento">The PSTR documento.</param>
 /// <param name="pstrClave">The PSTR clave.</param>
 /// <returns>System.String.</returns>
 public string GetIdClient(string pstrDocumento, string pstrClave)
 {
     try
     {
         using (var db = DbWeb.GetConection())
         {
             var user = db.Query <clienteDto>(QueryHelper.GetQuery(nameof(GetIdClient)),
                                              new { id = pstrDocumento, pass = pstrClave }).FirstOrDefault();
             LastResult.Success = true;
             return(user?.v_IdCliente);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#10
0
 /// <summary>
 /// Devuelve el ISC de un producto.
 /// </summary>
 /// <param name="id">id del productodetalle</param>
 /// <param name="periodo">el periodo</param>
 /// <returns>dto isc</returns>
 public productoiscDto GetIscFromDetail(string id, string periodo)
 {
     try
     {
         using (var con = DbWeb.GetConection())
         {
             var isc = con.Query <productoiscDto>(
                 QueryHelper.GetQuery(nameof(GetIscFromDetail)),
                 new { id, periodo }).First();
             LastResult = true;
             return(isc);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#11
0
 /// <summary>
 /// Obtiene los detalles de una venta con su Cod. Unidad Internacional y TipoAfectacion IGV
 /// </summary>
 /// <param name="id">id de la venta</param>
 /// <param name="grouUnidad">grupo de la unidad intenacional</param>
 /// <returns>detalles</returns>
 public Tuple <ventadetalleDto, string, short>[] GetVentaDetalles(string id, int grouUnidad)
 {
     try
     {
         using (var con = DbWeb.GetConection())
         {
             var res = con.Query <ventadetalleDto, string, string, Tuple <ventadetalleDto, string, short> >(
                 QueryHelper.GetQuery(nameof(GetVentaDetalles)),
                 (a, unid, tipoOp) => new Tuple <ventadetalleDto, string, short>(a, unid, short.Parse(tipoOp)), new { idg = grouUnidad, id }, splitOn: "v_Value2").ToArray();
             LastResult = true;
             return(res);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }
示例#12
0
 /// <summary>
 /// Return Information from Venta.
 /// </summary>
 /// <param name="idVenta">Id de la Venta</param>
 /// <returns>venta, cliente & IGV</returns>
 public Tuple <ventaDto, clienteDto, decimal> GetVentaCliente(string idVenta)
 {
     try
     {
         using (var con = DbWeb.GetConection())
         {
             var res = con.Query <ventaDto, clienteDto, string, Tuple <ventaDto, clienteDto, decimal> >(
                 QueryHelper.GetQuery(nameof(GetVentaCliente)), (a, b, igv) => new Tuple <ventaDto, clienteDto, decimal>(a, b, decimal.Parse(igv ?? "18") / 100),
                 new { idVenta }, splitOn: "i_IdTipoIdentificacion,v_Value1").First();
             LastResult = true;
             return(res);
         }
     }
     catch (Exception ex)
     {
         LastResult.ErrorMessage = ex.Message;
         return(null);
     }
 }