Exemple #1
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);
            }
        }
        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);
        }
        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);
                }
            }
        }
        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);

            //    }
            //}
        }