Beispiel #1
0
        private List <ComprobanteEntidad> MapearMuchos(DataSet ds)
        {
            List <ComprobanteEntidad> ResUnosComprobantes = new List <ComprobanteEntidad>();

            try
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    ComprobanteEntidad unComprobante = new ComprobanteEntidad();

                    unComprobante.IdComprobante         = (int)row["IdComprobante"];
                    unComprobante.IdPedido              = (int)row["IdPedido"];
                    unComprobante.Ajuste                = (decimal)row["Ajuste"];
                    unComprobante.CUIT                  = row["CUIT"].ToString();
                    unComprobante.Detalles              = new List <ComprobanteDetalleEntidad>();
                    unComprobante.FechaComprobante      = DateTime.Parse(row["FechaComprobante"].ToString());
                    unComprobante.miSucursal            = new SucursalEntidad();
                    unComprobante.miSucursal.IdSucursal = (int)row["IdSucursal"];
                    unComprobante.miTipoComprobante     = new TipoComprobanteEntidad();
                    unComprobante.miTipoComprobante.IdTipoComprobante = (int)row["IdTipoComprobante"];
                    unComprobante.NroComprobante = (int)row["NroComprobante"];
                    if (row["FecBaja"].ToString() != "")
                    {
                        unComprobante.FecBaja = DateTime.Parse(row["FecBaja"].ToString());
                    }

                    ResUnosComprobantes.Add(unComprobante);
                }
                return(ResUnosComprobantes);
            }
            catch (Exception es)
            {
                throw;
            }
        }
Beispiel #2
0
        private ComprobanteEntidad MapearUno(DataSet ds)
        {
            ComprobanteEntidad unComprobante = new ComprobanteEntidad();

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                unComprobante.IdComprobante = (int)row["IdComprobante"];
                unComprobante.IdPedido      = (int)row["IdPedido"];
                if (row["Ajuste"] != null)
                {
                    unComprobante.Ajuste = (decimal)row["Ajuste"];
                }
                unComprobante.CUIT                  = row["CUIT"].ToString();
                unComprobante.Detalles              = new List <ComprobanteDetalleEntidad>();
                unComprobante.FechaComprobante      = DateTime.Parse(row["FechaComprobante"].ToString());
                unComprobante.miSucursal            = new SucursalEntidad();
                unComprobante.miSucursal.IdSucursal = (int)row["IdSucursal"];
                unComprobante.miTipoComprobante     = new TipoComprobanteEntidad();
                unComprobante.miTipoComprobante.IdTipoComprobante = (int)row["IdTipoComprobante"];
                unComprobante.NroComprobante = (int)row["NroComprobante"];
                if (row["FecBaja"].ToString() != "")
                {
                    unComprobante.FecBaja = DateTime.Parse(row["FecBaja"].ToString());
                }
            }
            return(unComprobante);
        }
Beispiel #3
0
        public void Create(ComprobanteEntidad e)
        {
            try
            {
                e.CUIT = Helpers.ConfigSection.Default.Site.Cuit;
                decimal Nro = 0;
                if (e.Ajuste > 0)
                {
                    Nro = (decimal)_dal.InsertND(e);
                }
                else
                {
                    Nro = (decimal)_dal.Insert(e);
                }
                var Resultado = Convert.ToInt32(Nro);

                foreach (ComprobanteDetalleEntidad item in e.Detalles)
                {
                    DetalleCreate(item);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #4
0
        protected void grilladend_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            ProductoCore coreProducto = new ProductoCore();

            if (e.CommandName.Equals("VerDetalle"))
            {
                int                index           = Convert.ToInt32(e.CommandArgument);
                string             code            = grilladend.DataKeys[index].Value.ToString();
                string             ultimos8delcode = code.Substring(code.Length - 8);
                string             nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
                ComprobanteEntidad ComprobanteRow = ComprobanteBLL.ComprobanteSelectAllByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
                List <ComprobanteDetalleEntidad> ListadeDetalles = ComprobanteBLL.DetallesSelectByComprobante(ComprobanteRow.NroComprobante, ComprobanteRow.miSucursal.IdSucursal, ComprobanteRow.miTipoComprobante.IdTipoComprobante);

                List <NCDetalleDTO> ListaDetallesDTO = new List <NCDetalleDTO>();
                foreach (var item in ListadeDetalles)
                {
                    NCDetalleDTO NuevoDetalle = new NCDetalleDTO();
                    NuevoDetalle.Producto       = coreProducto.Find(item.miProducto.IdProducto, 1).DescripProducto;
                    NuevoDetalle.Cantidad       = item.CantidadProducto;
                    NuevoDetalle.PrecioUnitario = item.PrecioUnitarioFact;
                    NuevoDetalle.Total          = NuevoDetalle.Cantidad * NuevoDetalle.PrecioUnitario;

                    ListaDetallesDTO.Add(NuevoDetalle);
                }

                grilladedetallesdend.DataSource = ListaDetallesDTO;
                grilladedetallesdend.DataBind();
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append(@"<script type='text/javascript'>");
                sb.Append("$('#currentdetail').modal('show');");
                sb.Append(@"</script>");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                        "ModalScript", sb.ToString(), false);
            }
        }
Beispiel #5
0
        public List <ComprobanteEntidad> MapearMisComprobantes(DataSet ds)
        {
            List <ComprobanteEntidad> ListFacturas = new List <ComprobanteEntidad>();

            try
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    ComprobanteEntidad unaFactura = new ComprobanteEntidad();

                    unaFactura.IdComprobante                 = (int)row["IdComprobante"];
                    unaFactura.MiTipoComprobante             = new TipoComprobanteEntidad();
                    unaFactura.MiTipoComprobante.Descripcion = row["NomTipoComprobante"].ToString();
                    unaFactura.MiSucursal             = new SucursalEntidad();
                    unaFactura.MiSucursal.Descripcion = row["NomSucursal"].ToString();
                    unaFactura.Fecha = (DateTime)row["Fecha"];


                    ListFacturas.Add(unaFactura);
                }
                return(ListFacturas);
            }
            catch (Exception es)
            {
                throw;
            }
        }
Beispiel #6
0
 public int RegistrarComprobante(ComprobanteEntidad unComprobante)
 {
     try
     {
         _DalComprobante.Insert(unComprobante);
         return(0);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public static bool PagarWebMethod()
        {
            ComprobanteEntidad unComprobante = new ComprobanteEntidad();

            unComprobante.Detalles = new List <ComprobanteDetalleEntidad>();
            ComprobanteCore unManagerComprobante = new ComprobanteCore();
            PedidoCore      unManagerPedido      = new PedidoCore();
            SucursalCore    ManagerSucursal      = new SucursalCore();
            int             IdPedidoActual;

            List <PedidoDetalleEntidad> unosDetallesPedido = new List <PedidoDetalleEntidad>();
            var Current = HttpContext.Current;

            UsuarioEntidad logueado   = (UsuarioEntidad)Current.Session["Usuario"];
            var            sucursalId = (int?)Current.Session["Seleccionada"];

            IdPedidoActual = (int)Current.Session["UltimoPedido"];

            unosDetallesPedido = (List <PedidoDetalleEntidad>)Current.Session["DetallesPedido"];

            PedidoEntidad unPedidoPagar = new PedidoEntidad();

            unPedidoPagar             = unManagerPedido.PedidoSelectByCUIT_IDPedido(IdPedidoActual);
            unPedidoPagar.misDetalles = unManagerPedido.PedidosDetalleSelect(unPedidoPagar.IdPedido);
            SucursalEntidad unaSucursal = ManagerSucursal.SucursalTraerPorDireccionSucursal(unPedidoPagar.miDireccionEntrega.IdDireccion);

            TarjetaEntidad        unaTarjeta  = new TarjetaEntidad();
            TarjetaCore           coreTarjeta = new TarjetaCore();
            List <TarjetaEntidad> MisTarjetas = coreTarjeta.SelectAllTarjetasByCUIT_NombreUsuario(ConfigSection.Default.Site.Cuit, logueado.NombreUsuario);

            foreach (var t in MisTarjetas)
            {
                if (t.Predeterminada == true)
                {
                    unaTarjeta = t;
                }
            }

            if (unManagerPedido.PagarPedido(unaTarjeta.Numero.ToString(), unaTarjeta.CodSeguridad, (decimal)unPedidoPagar.misDetalles.Select(x => x.Cantidad * x.PrecioUnitario).Sum()))
            {
                unManagerPedido.AvanzarPaso(unPedidoPagar, unaSucursal, logueado, (int)FormaPagoEntidad.Options.ECommerce);
                LimpiarPedido();
                return(true);
            }
            LimpiarPedido();
            return(false);



            //Response.Redirect("/Areas/Public/Forms/UltimosPedidos.aspx");
        }
Beispiel #8
0
        public ComprobanteEntidad Select(int IdComprobante)
        {
            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@IdComprobante", IdComprobante)
            };

            using (DataSet ds = SqlClientUtility.ExecuteDataSet(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteSelectById", parameters))
            {
                ComprobanteEntidad ComprobanteEnt = new ComprobanteEntidad();

                ComprobanteEnt = MapearComprobante(ds);

                return(ComprobanteEnt);
            }
        }
Beispiel #9
0
        /// <summary>
        /// Updates a record in the Comprobante table.
        /// </summary>
        public void Update(ComprobanteEntidad comprobante)
        {
            ValidationUtility.ValidateArgument("comprobante", comprobante);

            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@NroComprobante", comprobante.NroComprobante),
                new SqlParameter("@IdSucursal", comprobante.miSucursal.IdSucursal),
                new SqlParameter("@CUIT", comprobante.CUIT),
                new SqlParameter("@IdTipoComprobante", comprobante.miTipoComprobante.IdTipoComprobante),
                new SqlParameter("@IdComprobante", comprobante.IdComprobante),
                new SqlParameter("@FechaComprobante", comprobante.FechaComprobante),
                new SqlParameter("@IdPedido", comprobante.IdPedido)
            };

            SqlClientUtility.ExecuteNonQuery(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteUpdate", parameters);
        }
Beispiel #10
0
        /// <summary>
        /// Crea una Nota de débito
        /// </summary>
        public object InsertND(ComprobanteEntidad comprobante)
        {
            ValidationUtility.ValidateArgument("comprobante", comprobante);

            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@NroComprobante", comprobante.NroComprobante),
                new SqlParameter("@IdSucursal", comprobante.miSucursal.IdSucursal),
                new SqlParameter("@CUIT", comprobante.CUIT),
                new SqlParameter("@IdTipoComprobante", comprobante.miTipoComprobante.IdTipoComprobante),
                new SqlParameter("@FechaComprobante", comprobante.FechaComprobante),
                new SqlParameter("@IdPedido", comprobante.IdPedido),
                new SqlParameter("@Ajuste", comprobante.Ajuste)
            };

            return(SqlClientUtility.ExecuteScalar(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteNDInsert", parameters));
            //SqlClientUtility.ExecuteNonQuery(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteInsert", parameters);
        }
Beispiel #11
0
        public void Insert(ComprobanteEntidad comprobante)
        {
            ValidationUtility.ValidateArgument("comprobante", comprobante);

            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@IdTipoComprobante", comprobante.MiTipoComprobante.IdTipoComprobante),
                new SqlParameter("@IdSucursal", comprobante.MiSucursal.IdSucursal),
                new SqlParameter("@IdOrdenDeTrabajo", comprobante.MiOrdenDeTrabajo.IdOrdenDeTrabajo),
                new SqlParameter("@Fecha", comprobante.Fecha)
            };

            var Resultado = (decimal)SqlClientUtility.ExecuteScalar(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteInsert", parameters);

            int IdComprobanteRes = Decimal.ToInt32(Resultado);

            comprobante.IdComprobante = IdComprobanteRes;
        }
Beispiel #12
0
        /// <summary>
        /// Selects a single record from the Comprobante table.
        /// </summary>
        public ComprobanteEntidad Select(int nroComprobante, int idSucursal, int idTipoComprobante, string CUIT)
        {
            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@NroComprobante", nroComprobante),
                new SqlParameter("@IdSucursal", idSucursal),
                new SqlParameter("@IdTipoComprobante", idTipoComprobante),
                new SqlParameter("@CUIT", CUIT)
            };

            using (DataSet ds = SqlClientUtility.ExecuteDataSet(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ComprobanteSelect", parameters))
            {
                ComprobanteEntidad ComprobanteEntidad = new ComprobanteEntidad();

                ComprobanteEntidad = MapearUno(ds);

                return(ComprobanteEntidad);
            }
        }
Beispiel #13
0
        public ComprobanteEntidad MapearComprobante(DataSet ds)
        {
            ComprobanteEntidad UnComprobante = new ComprobanteEntidad();

            try
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    UnComprobante.IdComprobante     = (int)row["IdComprobante"];
                    UnComprobante.MiTipoComprobante = new TipoComprobanteEntidad();
                    UnComprobante.MiTipoComprobante.IdTipoComprobante = (int)row["IdTipoComprobante"];
                    UnComprobante.MiSucursal                        = new SucursalEntidad();
                    UnComprobante.MiSucursal.IdSucursal             = (int)row["IdSucursal"];
                    UnComprobante.MiOrdenDeTrabajo                  = new OrdenDeTrabajoEntidad();
                    UnComprobante.MiOrdenDeTrabajo.IdOrdenDeTrabajo = (int)row["IdOrdenDeTrabajo"];
                    UnComprobante.Fecha = (DateTime)row["Fecha"];
                }
                return(UnComprobante);
            }
            catch (Exception es)
            {
                throw;
            }
        }
Beispiel #14
0
        protected void grilladenc_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            ProductoCore coreProducto = new ProductoCore();

            if (e.CommandName.Equals("VerDetalle"))
            {
                int                index           = Convert.ToInt32(e.CommandArgument);
                string             code            = grilladenc.DataKeys[index].Value.ToString();
                string             ultimos8delcode = code.Substring(code.Length - 8);
                string             nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
                ComprobanteEntidad ComprobanteRow = ComprobanteBLL.ComprobanteSelectAllByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
                List <ComprobanteDetalleEntidad> ListadeDetalles = ComprobanteBLL.DetallesSelectByComprobante(ComprobanteRow.NroComprobante, ComprobanteRow.miSucursal.IdSucursal, ComprobanteRow.miTipoComprobante.IdTipoComprobante);
                List <NCDetalleDTO> ListaDetallesDTO             = new List <NCDetalleDTO>();
                foreach (var item in ListadeDetalles)
                {
                    NCDetalleDTO NuevoDetalle = new NCDetalleDTO();
                    NuevoDetalle.Producto       = coreProducto.Find(item.miProducto.IdProducto, 1).DescripProducto;
                    NuevoDetalle.Cantidad       = item.CantidadProducto;
                    NuevoDetalle.PrecioUnitario = item.PrecioUnitarioFact;
                    NuevoDetalle.Total          = NuevoDetalle.Cantidad * NuevoDetalle.PrecioUnitario;

                    ListaDetallesDTO.Add(NuevoDetalle);
                }


                grilladedetallesdenc.DataSource = ListaDetallesDTO;
                grilladedetallesdenc.DataBind();
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append(@"<script type='text/javascript'>");
                sb.Append("$('#currentdetail').modal('show');");
                sb.Append(@"</script>");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                        "ModalScript", sb.ToString(), false);
            }


            //if (e.CommandName.Equals("GenerarND"))
            //{
            //    int index = Convert.ToInt32(e.CommandArgument);
            //    string code = grilladenc.DataKeys[index].Value.ToString();
            //    string ultimos8delcode = code.Substring(code.Length - 8);
            //    string nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
            //    var comprobantes = ComprobanteBLL.ComprobanteSelectAllListadosByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
            //    if (comprobantes.Any(c => c.IdTipoComprobante == 6 || c.IdTipoComprobante > 8))
            //    {
            //        System.Text.StringBuilder sb = new System.Text.StringBuilder();
            //        sb.Append(@"<script type='text/javascript'>");
            //        sb.Append("alert('Nota de debito ya fue generada previamente');");
            //        sb.Append(@"</script>");
            //        ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
            //                   "ModalScript", sb.ToString(), false);
            //    }
            //    else {
            //        ComprobanteEntidad ComprobanteRow = new ComprobanteEntidad();
            //         ComprobanteRow = ComprobanteBLL.ComprobanteSelectAllByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
            //         List<ComprobanteDetalleEntidad> ListadeDetalles = new List<ComprobanteDetalleEntidad>();
            //        ListadeDetalles = ComprobanteBLL.DetallesSelectByComprobante(ComprobanteRow.NroComprobante, ComprobanteRow.IdSucursal, ComprobanteRow.IdTipoComprobante);

            //        ComprobanteEntidad Notadedebito = new ComprobanteEntidad();
            //            Notadedebito = ComprobanteRow;
            //            Notadedebito.FechaComprobante = DateTime.Now;
            //            Notadedebito.Detalles = new List<ComprobanteDetalleEntidad>();
            //        switch (ComprobanteRow.IdTipoComprobante)
            //        {
            //            case 1:
            //                Notadedebito.IdTipoComprobante = 6;
            //                break;
            //            case 2:
            //                Notadedebito.IdTipoComprobante = 9;
            //                break;
            //            case 3:
            //                Notadedebito.IdTipoComprobante = 10;
            //                break;
            //            default:
            //                Notadedebito.IdTipoComprobante = 6;
            //                break;
            //        }


            //        int ContadorDetalle = 0;

            //        foreach (var item in ListadeDetalles)
            //        {

            //            ComprobanteDetalleEntidad unDetalleComprobante = new ComprobanteDetalleEntidad();
            //            ContadorDetalle = ContadorDetalle + 1;
            //            unDetalleComprobante.IdComprobanteDetalle = ContadorDetalle;
            //            unDetalleComprobante.NroComprobante = ComprobanteRow.NroComprobante;
            //            unDetalleComprobante.IdSucursal = ComprobanteRow.IdSucursal;
            //            unDetalleComprobante.IdTipoComprobante = Notadedebito.IdTipoComprobante;
            //            unDetalleComprobante.CUIT = ConfigSection.Default.Site.Cuit;
            //            unDetalleComprobante.IdProducto = item.IdProducto;
            //            unDetalleComprobante.CantidadProducto = item.CantidadProducto;
            //            unDetalleComprobante.PrecioUnitarioFact = item.PrecioUnitarioFact;
            //            Notadedebito.Detalles.Add(unDetalleComprobante);

            //        }

            //        ComprobanteBLL.Create(Notadedebito);


            //        System.Text.StringBuilder sb = new System.Text.StringBuilder();
            //        sb.Append(@"<script type='text/javascript'>");
            //        sb.Append("alert('Nota de debito generada');");
            //        sb.Append(@"</script>");
            //        ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
            //                   "ModalScript", sb.ToString(), false);

            //    }
            //}
        }
Beispiel #15
0
        //Si esta en Pendiente y pasa a Pago (llamada por estado==Pendiente)
        public void AvanzarPaso(PedidoEntidad elPedido, SucursalEntidad laSucursal, UsuarioEntidad elCliente, int elIdFormaPago)
        {
            PagoEntidad unPago = new PagoEntidad();

            unPago.IdPedido                = elPedido.IdPedido;
            unPago.miFormaPago             = new FormaPagoEntidad();
            unPago.miFormaPago.IdFormaPago = elIdFormaPago;
            unPago.MontoPago               = (decimal)elPedido.misDetalles.Select(x => x.Cantidad * x.PrecioUnitario).Sum();
            unPago.CUIT      = elPedido.miUsuario.CUIT;
            unPago.FechaPago = DateTime.Now;

            RegistrarPago(unPago);

            ComprobanteEntidad unComprobante = new ComprobanteEntidad();//

            unComprobante.miTipoComprobante = new TipoComprobanteEntidad();
            unComprobante.miSucursal        = new SucursalEntidad();
            unComprobante.Detalles          = new List <ComprobanteDetalleEntidad>(); //
            ComprobanteCore unManagerComprobante = new ComprobanteCore();             //
            int             ContadorDetalle      = 0;                                 //

            string NroCompSolo = "";
            int    NroComp;

            if (unManagerComprobante.FindAll().Count == 0)
            {
                NroCompSolo = "0";
            }
            //Toma el nro de comprobante y lo desglosa para formar el nuevo nro de comprobante
            if (NroCompSolo != "0")
            {
                NroComp = unManagerComprobante.FindAll().LastOrDefault().NroComprobante;
                var NroCompString = NroComp.ToString();
                NroCompSolo = NroCompString;
                //NroCompSolo = NroCompString.Remove(0, 2);
            }
            NroComp = int.Parse(NroCompSolo) + 1;
            // unComprobante.NroComprobante = int.Parse(logueado.IdCondicionFiscal.ToString() + sucursalId.ToString() + NroComp.ToString());
            unComprobante.NroComprobante        = NroComp;
            unComprobante.miSucursal.IdSucursal = laSucursal.IdSucursal;
            if (elCliente.IdCondicionFiscal == 1)
            {
                unComprobante.miTipoComprobante.IdTipoComprobante = 2;//Factura B
            }
            else if (elCliente.IdCondicionFiscal == 2)
            {
                unComprobante.miTipoComprobante.IdTipoComprobante = 1; //Factura A
            }
            unComprobante.FechaComprobante = DateTime.Now;
            unComprobante.IdPedido         = elPedido.IdPedido;

            foreach (var item in elPedido.misDetalles)
            {
                ComprobanteDetalleEntidad unDetalleComprobante = new ComprobanteDetalleEntidad();
                ContadorDetalle = ContadorDetalle + 1;
                unDetalleComprobante.IdComprobanteDetalle = ContadorDetalle;
                unDetalleComprobante.NroComprobante       = unComprobante.NroComprobante;
                unDetalleComprobante.IdSucursal           = unComprobante.miSucursal.IdSucursal;
                unDetalleComprobante.IdTipoComprobante    = unComprobante.miTipoComprobante.IdTipoComprobante;
                unDetalleComprobante.CUIT                  = ConfigSection.Default.Site.Cuit;
                unDetalleComprobante.miProducto            = new ProductoEntidad();
                unDetalleComprobante.miProducto.IdProducto = item.miProducto.IdProducto;
                unDetalleComprobante.CantidadProducto      = item.Cantidad;
                unDetalleComprobante.PrecioUnitarioFact    = item.PrecioUnitario;

                unComprobante.Detalles.Add(unDetalleComprobante);
            }

            //Cambiar Estado del Pedido en memoria a Pago
            elPedido.Avanzar(false, elPedido.miFormaEntrega.IdFormaEntrega);
            PedidoSetearEstadoDescripEnMemoria(elPedido);

            //Generar factura
            unManagerComprobante.Create(unComprobante);

            //Insertar nuevo estado en BD
            _pedidoEstadoPedidoDal.Insert(new PedidoEstadoPedidoEntidad()
            {
                Fecha          = DateTime.Now,
                IdEstadoPedido = elPedido.VerEstadoActual().IdEstadoPedido,
                IdPedido       = elPedido.IdPedido
            });
        }
Beispiel #16
0
        public void CancelarPedido(PedidoEntidad elPedido)
        {
            ComprobanteCore           ManagerComprobante = new ComprobanteCore();
            ComprobanteEntidad        unaFacturaAsociada = new ComprobanteEntidad();
            ComprobanteEntidad        unaNotaCredito     = new ComprobanteEntidad();
            List <ComprobanteEntidad> unosComprobantes   = new List <ComprobanteEntidad>();
            List <ComprobanteEntidad> unosCompAux        = new List <ComprobanteEntidad>();
            int unIdComprobante = 0;

            try
            {
                //Reverificar que no esté cancelado
                if (elPedido.VerEstadoActual().IdEstadoPedido == (int)EstadoPedidoEntidad.Options.Cancelado)
                {
                    return;
                }
                //Nota de crédido en caso de estar en estado > a Pendiente de Pago
                if (elPedido.VerEstadoActual().IdEstadoPedido != (int)EstadoPedidoEntidad.Options.PendientePago)
                {
                    unosComprobantes = ManagerComprobante.ComprobanteSelectByIdPedido(elPedido.IdPedido);
                    if (unosComprobantes != null)
                    {
                        unosCompAux = unosComprobantes.Where(X =>
                                                             X.miTipoComprobante.IdTipoComprobante == (int)TipoComprobanteEntidad.Options.FacturaA |
                                                             X.miTipoComprobante.IdTipoComprobante == (int)TipoComprobanteEntidad.Options.FacturaB |
                                                             X.miTipoComprobante.IdTipoComprobante == (int)TipoComprobanteEntidad.Options.FacturaC).ToList();
                    }

                    foreach (ComprobanteEntidad unAux in unosCompAux)
                    {
                        if (unIdComprobante < unAux.IdComprobante)
                        {
                            unIdComprobante = unAux.IdComprobante;
                        }
                    }

                    unaFacturaAsociada = unosComprobantes.First(X => X.IdComprobante == unIdComprobante);
                    //ObtenerDetalles factura asociada
                    unaFacturaAsociada.Detalles = ManagerComprobante.DetallesSelectByComprobante(unaFacturaAsociada.NroComprobante, unaFacturaAsociada.miSucursal.IdSucursal, unaFacturaAsociada.miTipoComprobante.IdTipoComprobante);

                    //Armar NotaCredito
                    unaNotaCredito = unaFacturaAsociada;
                    unaNotaCredito.FechaComprobante = DateTime.Now;

                    switch (unaFacturaAsociada.miTipoComprobante.IdTipoComprobante)
                    {
                    case 1:
                        unaNotaCredito.miTipoComprobante.IdTipoComprobante = (int)TipoComprobanteEntidad.Options.NotaCreditoA;
                        break;

                    case 2:
                        unaNotaCredito.miTipoComprobante.IdTipoComprobante = (int)TipoComprobanteEntidad.Options.NotaCreditoB;
                        break;

                    case 3:
                        unaNotaCredito.miTipoComprobante.IdTipoComprobante = (int)TipoComprobanteEntidad.Options.NotaCreditoC;
                        break;

                    default:
                        unaNotaCredito.miTipoComprobante.IdTipoComprobante = (int)TipoComprobanteEntidad.Options.NotaCreditoA;
                        break;
                    }

                    //NroComrpobante
                    int NroComp;
                    ComprobanteEntidad unComAux = ManagerComprobante.FindAll().LastOrDefault(X => X.miTipoComprobante.IdTipoComprobante == unaNotaCredito.miTipoComprobante.IdTipoComprobante);
                    if (unComAux != null && unComAux.IdComprobante > 0)
                    {
                        NroComp = unComAux.NroComprobante;
                    }
                    else
                    {
                        NroComp = 0;
                    }
                    NroComp++;
                    unaNotaCredito.NroComprobante = NroComp;

                    foreach (ComprobanteDetalleEntidad unDet in unaNotaCredito.Detalles)
                    {
                        unDet.IdTipoComprobante = unaNotaCredito.miTipoComprobante.IdTipoComprobante;
                        unDet.NroComprobante    = unaNotaCredito.NroComprobante;
                    }

                    ManagerComprobante.Create(unaNotaCredito);

                    //Devolución del stock
                    SucursalCore ManagerSucursal = new SucursalCore();
                    elPedido.misDetalles = this.PedidosDetalleSelect(elPedido.IdPedido);
                    ManagerSucursal.DevolverStockSucursalPorCancelacion(elPedido.misDetalles, unaNotaCredito.miSucursal.IdSucursal);
                }

                //Cambiar Estado del Pedido en memoria a Cancelado
                elPedido.Avanzar(true, elPedido.miFormaEntrega.IdFormaEntrega);
                PedidoSetearEstadoDescripEnMemoria(elPedido);

                //Insertar nuevo estado
                _pedidoEstadoPedidoDal.Insert(new PedidoEstadoPedidoEntidad()
                {
                    Fecha          = DateTime.Now,
                    IdEstadoPedido = elPedido.VerEstadoActual().IdEstadoPedido,
                    IdPedido       = elPedido.IdPedido
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #17
0
        protected void gvFacturas_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int id = Int32.Parse(gvFacturas.Rows[Int32.Parse(e.CommandArgument.ToString())].Cells[0].Text);


            ComprobanteEntidad Factura;


            // Busca el IdFactura para traer todos sus datos
            Factura = GestorComprobante.FindComprobante(id);
            switch (e.CommandName)
            {
            case "btnVerDetalle":
            {
                OrdenDeTrabajoEntidad unaOrden  = new OrdenDeTrabajoEntidad();
                OrdenDeTrabajoBLL     gestorODT = new OrdenDeTrabajoBLL();


                // Busca la OrdenDeTrabajo que figura en la Factura.
                unaOrden = gestorODT.SelectODT(Factura.MiOrdenDeTrabajo.IdOrdenDeTrabajo);

                List <ItemOrdenDeTrabajoEntidad> unItem     = new List <ItemOrdenDeTrabajoEntidad>();
                ItemOrdenDeTrabajoBLL            GestorItem = new ItemOrdenDeTrabajoBLL();

                // Busca los Item que pertenecen a la OrdenDeTrabajo
                unItem = GestorItem.ListaItemSelectAllByIdODT(unaOrden.IdOrdenDeTrabajo);

                // ventana emergente

                DetalleFactura.DataSource = unItem;
                DetalleFactura.DataBind();



                break;
            }

            case "btnGenerarNC":

            {
                // Genera comprobante de tipo Nota de Credito = 2 , Sucursal General Rodriguez = 1 , Fecha = hoy


                ComprobanteEntidad NuevoComprobante = new ComprobanteEntidad();

                NuevoComprobante.MiTipoComprobante = new TipoComprobanteEntidad();
                NuevoComprobante.MiTipoComprobante.IdTipoComprobante = 2;
                NuevoComprobante.MiSucursal                        = new SucursalEntidad();
                NuevoComprobante.MiSucursal.IdSucursal             = 1;
                NuevoComprobante.MiOrdenDeTrabajo                  = new OrdenDeTrabajoEntidad();
                NuevoComprobante.MiOrdenDeTrabajo.IdOrdenDeTrabajo = Factura.MiOrdenDeTrabajo.IdOrdenDeTrabajo;
                NuevoComprobante.Fecha = DateTime.Now.Date;

                ComprobanteBLL GestorComprobante = new ComprobanteBLL();

                GestorComprobante.RegistrarComprobante(NuevoComprobante);



                break;
            }
            }
        }
        protected void grilladefacturas_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            ProductoCore coreProducto = new ProductoCore();

            if (e.CommandName.Equals("VerDetalle"))
            {
                int                index           = Convert.ToInt32(e.CommandArgument);
                string             code            = grilladefacturas.DataKeys[index].Value.ToString();
                string             ultimos8delcode = code.Substring(code.Length - 8);
                string             nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
                ComprobanteEntidad ComprobanteRow = ComprobanteBLL.ComprobanteSelectAllByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
                List <ComprobanteDetalleEntidad> ListadeDetalles  = ComprobanteBLL.DetallesSelectByComprobante(ComprobanteRow.NroComprobante, ComprobanteRow.miSucursal.IdSucursal, ComprobanteRow.miTipoComprobante.IdTipoComprobante);
                List <FacturasDetalleDTO>        ListaDetallesDTO = new List <FacturasDetalleDTO>();
                foreach (var item in ListadeDetalles)
                {
                    FacturasDetalleDTO NuevoDetalle = new FacturasDetalleDTO();
                    NuevoDetalle.Producto       = coreProducto.Find(item.miProducto.IdProducto, 1).DescripProducto;
                    NuevoDetalle.Cantidad       = item.CantidadProducto;
                    NuevoDetalle.PrecioUnitario = item.PrecioUnitarioFact;
                    NuevoDetalle.Total          = NuevoDetalle.Cantidad * NuevoDetalle.PrecioUnitario;

                    ListaDetallesDTO.Add(NuevoDetalle);
                }

                grilladedetallesdefactura.DataSource = ListaDetallesDTO;
                grilladedetallesdefactura.DataBind();
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append(@"<script type='text/javascript'>");
                sb.Append("$('#currentdetail').modal('show');");
                sb.Append(@"</script>");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                        "ModalScript", sb.ToString(), false);
            }


            if (e.CommandName.Equals("GenerarNDeb"))
            {
                int    index           = Convert.ToInt32(e.CommandArgument);
                string code            = grilladefacturas.DataKeys[index].Value.ToString();
                string ultimos8delcode = code.Substring(code.Length - 8);
                string nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
                var    comprobantes = ComprobanteBLL.ComprobanteSelectAllListadosByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
                if (comprobantes.Any(c => c.miTipoComprobante.IdTipoComprobante > 4 && c.miTipoComprobante.IdTipoComprobante < 8))
                {
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("alert('No es posible de realizar, la factura posee una Nota de crédito asociada');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                            "ModalScript2", sb.ToString(), false);
                }
                else if (comprobantes.Any(c => c.miTipoComprobante.IdTipoComprobante >= 8))
                {
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("alert('No es posible de realizar, la factura ya posee una Nota de débito asociada');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                            "ModalScript4", sb.ToString(), false);
                }
                else
                {
                    //NroFactAsocND.Value = code;
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("$('#NroFactAsocND').val('");
                    sb.Append(code);
                    sb.Append("');");
                    sb.Append("$('#mdl_MontoNotaDebito').modal('show');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                            "ModalScript3", sb.ToString(), false);
                }
            }
        }
        public static bool GenerarNotaDebWebMethod(string MontoNotaDebito, string NroFactAsocND)
        {
            ComprobanteCore    ComprobanteBLL = new ComprobanteCore();
            ComprobanteEntidad ComprobanteRow = new ComprobanteEntidad();

            try
            {
                string ultimos8delcode = NroFactAsocND.Substring(NroFactAsocND.Length - 8);
                string nrocomprobantesincerosalaizquierda = ultimos8delcode.TrimStart('0');
                //var comprobantes = ComprobanteBLL.ComprobanteSelectAllListadosByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));

                ComprobanteRow = ComprobanteBLL.ComprobanteSelectAllByCUIT_NroComprobante(Convert.ToInt32(nrocomprobantesincerosalaizquierda));
                List <ComprobanteDetalleEntidad> ListadeDetalles = new List <ComprobanteDetalleEntidad>();
                ListadeDetalles = ComprobanteBLL.DetallesSelectByComprobante(ComprobanteRow.NroComprobante, ComprobanteRow.miSucursal.IdSucursal, ComprobanteRow.miTipoComprobante.IdTipoComprobante);

                decimal montoAux = 0;
                if (!string.IsNullOrWhiteSpace(MontoNotaDebito))
                {
                    montoAux = Decimal.Parse(MontoNotaDebito);
                }
                if (ListadeDetalles.Sum(X => X.PrecioUnitarioFact) < Decimal.Parse(MontoNotaDebito) | montoAux < 1)
                {
                    return(false);
                }

                ComprobanteEntidad unaNotaDebito = new ComprobanteEntidad();

                unaNotaDebito = ComprobanteRow;
                unaNotaDebito.FechaComprobante = DateTime.Now;

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

                switch (ComprobanteRow.miTipoComprobante.IdTipoComprobante)
                {
                case 1:
                    unaNotaDebito.miTipoComprobante.IdTipoComprobante = 8;
                    break;

                case 2:
                    unaNotaDebito.miTipoComprobante.IdTipoComprobante = 9;
                    break;

                case 3:
                    unaNotaDebito.miTipoComprobante.IdTipoComprobante = 10;
                    break;

                default:
                    unaNotaDebito.miTipoComprobante.IdTipoComprobante = 8;
                    break;
                }


                int ContadorDetalle = 0;

                foreach (var item in ListadeDetalles)
                {
                    ComprobanteDetalleEntidad unDetalleComprobante = new ComprobanteDetalleEntidad();
                    ContadorDetalle = ContadorDetalle + 1;
                    unDetalleComprobante.IdComprobanteDetalle = ContadorDetalle;
                    unDetalleComprobante.NroComprobante       = ComprobanteRow.NroComprobante;
                    unDetalleComprobante.IdSucursal           = ComprobanteRow.miSucursal.IdSucursal;
                    unDetalleComprobante.IdTipoComprobante    = unaNotaDebito.miTipoComprobante.IdTipoComprobante;
                    unDetalleComprobante.CUIT                  = ConfigSection.Default.Site.Cuit;
                    unDetalleComprobante.miProducto            = new ProductoEntidad();
                    unDetalleComprobante.miProducto.IdProducto = item.miProducto.IdProducto;
                    unDetalleComprobante.CantidadProducto      = item.CantidadProducto;
                    unDetalleComprobante.PrecioUnitarioFact    = item.PrecioUnitarioFact;
                    unaNotaDebito.Detalles.Add(unDetalleComprobante);
                    //ComprobanteDetalleEntidad NCDetalle = detalle;
                    //NCDetalle.IdTipoComprobante = NotaDeCredito.IdTipoComprobante;
                    //ComprobanteBLL.DetalleCreate(NCDetalle);
                }

                unaNotaDebito.Ajuste = int.Parse(MontoNotaDebito);

                ComprobanteBLL.Create(unaNotaDebito);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }


            //System.Text.StringBuilder sb = new System.Text.StringBuilder();
            //sb.Append(@"<script type='text/javascript'>");
            //sb.Append("alert('Nota de credito generada');");
            //sb.Append(@"</script>");
            //ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
            //           "ModalScript3", sb.ToString(), false);
        }
Beispiel #20
0
        protected void GVTarjetas_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int id = Int32.Parse(GVTarjetas.Rows[Int32.Parse(e.CommandArgument.ToString())].Cells[0].Text);



            TarjetaEntidad unaTarjeta;

            unaTarjeta = GestorTarjeta.Find(id);
            int NumeroComprobante = 0;

            switch (e.CommandName)
            {
            case "btnSeleccionar":
            {
                UsuarioEntidad logueadoStatic;
                logueadoStatic = (UsuarioEntidad)Current.Session["Usuario"];
                OrdenDeTrabajoBLL OrdenByIdUsuario = new OrdenDeTrabajoBLL();

                OrdenDeTrabajoBLL     EstadoActivo = new OrdenDeTrabajoBLL();
                OrdenDeTrabajoEntidad OrdenDeTrabajo;

                int numeroIdUsuario = logueadoStatic.IdUsuario;

                // lista 1 = consulta las ordenes de compras activas por el IdUsuario
                OrdenDeTrabajo = OrdenByIdUsuario.OrdenDeTrabajoActivas(numeroIdUsuario);


                // Ingreso estado Finalizado / cerrado Orden de Trabajo
                EstadoActivo.OrdenDeTrabajoUpdate(OrdenDeTrabajo);

                ReciboBLL     GestorRecibo = new ReciboBLL();
                ReciboEntidad elPago       = new ReciboEntidad();
                List <ItemOrdenDeTrabajoEntidad> ItemServicios;
                List <ItemOrdenDeTrabajoEntidad> ItemServicios2;
                ItemOrdenDeTrabajoBLL            GestorItemODT = new ItemOrdenDeTrabajoBLL();

                //lista 2 = consulta a la tabla lista de deseos con el IdUsuario los IdServicios
                ItemServicios = GestorItemODT.ResumenDeCompra(OrdenDeTrabajo.IdOrdenDeTrabajo);

                decimal suma = 0;
                foreach (ItemOrdenDeTrabajoEntidad item in ItemServicios)
                {
                    suma += item.Precio;
                }

                // Items que conforman el comprobante del pago. Recibo
                elPago.MiOrdenDeTrabajo = new OrdenDeTrabajoEntidad();
                elPago.MiOrdenDeTrabajo.IdOrdenDeTrabajo = OrdenDeTrabajo.IdOrdenDeTrabajo;
                elPago.MiFormaDePago = new FormaDePagoEntidad();
                elPago.MiFormaDePago.IdFormaDePago = 2;
                elPago.Importe = suma;

                GestorRecibo.RegistrarPago(elPago);

                // WebServices que a traves de un ramdon simula el rechazo o aceptacion del pago
                GestorRecibo.PagarOrdenDeTrabajo(unaTarjeta.NumeroTarjeta.ToString(), unaTarjeta.CodigoSeguridad, suma);

                // Genera comprobante de tipo Factura = 1 , Sucursal General Rodriguez = 1 , Fecha = hoy


                ComprobanteEntidad NuevoComprobante = new ComprobanteEntidad();

                NuevoComprobante.MiTipoComprobante = new TipoComprobanteEntidad();
                NuevoComprobante.MiTipoComprobante.IdTipoComprobante = 1;
                NuevoComprobante.MiSucursal                        = new SucursalEntidad();
                NuevoComprobante.MiSucursal.IdSucursal             = 1;
                NuevoComprobante.MiOrdenDeTrabajo                  = new OrdenDeTrabajoEntidad();
                NuevoComprobante.MiOrdenDeTrabajo.IdOrdenDeTrabajo = OrdenDeTrabajo.IdOrdenDeTrabajo;
                NuevoComprobante.Fecha = DateTime.Now.Date;

                ComprobanteBLL GestorComprobante = new ComprobanteBLL();

                NumeroComprobante = GestorComprobante.RegistrarComprobante(NuevoComprobante);


                //lista  = consulta a la tabla lista de deseos con el IdOrdenDeTrabajo
                ItemServicios2 = GestorItemODT.ListaItemSelectAllByIdODT2(OrdenDeTrabajo.IdOrdenDeTrabajo);


                // Genera por cada Item un detalle comprobante de tipo Factura = 1 , Sucursal General Rodriguez = 1

                foreach (ItemOrdenDeTrabajoEntidad item in ItemServicios2)
                {
                    int SucursalGralRod = 1;
                    int CompFactura     = 1;


                    DetalleComprobanteEntidad NuevoDetalleComprobante = new DetalleComprobanteEntidad();

                    NuevoDetalleComprobante.MiComprobante = new ComprobanteEntidad();
                    NuevoDetalleComprobante.MiComprobante.IdComprobante = NuevoComprobante.IdComprobante;
                    NuevoComprobante.MiTipoComprobante = new TipoComprobanteEntidad();
                    NuevoComprobante.MiTipoComprobante.IdTipoComprobante = CompFactura;
                    NuevoComprobante.MiSucursal                   = new SucursalEntidad();
                    NuevoComprobante.MiSucursal.IdSucursal        = SucursalGralRod;
                    NuevoDetalleComprobante.MiServicio            = new ServicioEntidad();
                    NuevoDetalleComprobante.MiServicio.IdServicio = item.MiServicio.IdServicio;
                    NuevoDetalleComprobante.PrecioUnitario        = item.Precio;

                    GestorComprobante.RegistrarDetalle(NuevoDetalleComprobante);
                }

                lblMensaje.Visible = true;
                lblMensaje.Text    = " 'Pago Exitoso !! Felicitaciones!! '";

                //  Response.Write("<script>alert('Pago Exitoso !! Felicitaciones!! ')</script>");

                break;
            }
            }

            //Response.Write("<script>alert('El paso fue rechazado, intente nuevamente ')</script>");
        }