示例#1
0
        protected int AdministrarMaterial(int Operacion)
        {
            try
            {
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Material MaterialActualizar = bd.Material.ObtenerPorId(int.Parse(txtId.Text));
                        MaterialActualizar.IdEstado    = int.Parse(cmbEstado.Value.ToString());
                        MaterialActualizar.Descripcion = txtDescripcion.Text;
                        MaterialActualizar.Codigo      = txtCodigo.Text;
                        MaterialActualizar.Costo       = double.Parse(txtCosto.Text);
                        MaterialActualizar.Precio      = double.Parse(txtPrecio.Text);
                        MaterialActualizar.Observacion = txtObservacion.Text;
                        MaterialActualizar.IdUsuario   = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                        bd.Material.Actualizar(MaterialActualizar);
                        bd.Grabar();
                        idMaterialInsertado = 0;
                        break;

                    case 2:
                        var MaterialInsertar = new Material
                        {
                            Costo         = double.Parse(txtCosto.Text),
                            Precio        = double.Parse(txtPrecio.Text),
                            FechaCreacion = DateTime.Today,
                            IdEstado      = 49,
                            Codigo        = txtCodigo.Text,
                            Descripcion   = txtDescripcion.Text,
                            Observacion   = txtObservacion.Text,
                            IdUsuario     = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                        };
                        bd.Material.Insertar(MaterialInsertar);
                        bd.Grabar();
                        idMaterialInsertado = MaterialInsertar.Id;
                        var StockInsertar = new Stock
                        {
                            IdAlmacen  = int.Parse(cmbAlmacen.Value.ToString()),
                            IdMaterial = idMaterialInsertado,
                            Stock1     = 0,
                        };
                        bd.Stock.Insertar(StockInsertar);
                        bd.Grabar();
                        break;
                    }
                }
                MostrarMensajes("Operación realizada con éxito");
            }
            catch (Exception ex)
            {
                idMaterialInsertado = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en administración Materiales: " + ex.Message);
            }
            return(idMaterialInsertado);
        }
示例#2
0
        protected int AdministrarPersona(int IdPersona, int Operacion)
        {
            try
            {
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Persona personaActualizar = bd.Persona.ObtenerPorId(IdPersona);

                        personaActualizar.RazonSocial = txtRazonSocial.Text;
                        personaActualizar.Ruc         = txtRUC.Text;
                        personaActualizar.Telefono    = txtTelefono.Text;
                        personaActualizar.Direccion   = txtDireccion.Text;
                        personaActualizar.Email       = txtEmail.Text;
                        personaActualizar.PaginaWeb   = txtPagWeb.Text;
                        bd.Persona.Actualizar(personaActualizar);
                        bd.Grabar();
                        IdPersonaInsertada = 0;
                        break;

                    case 2:
                        if (bd.Persona.ObtenerPersona_x_RUC(txtRUC.Text) == false)
                        {
                            var personaNueva = new Persona
                            {
                                FechaCreacion = DateTime.Today,
                                RazonSocial   = txtRazonSocial.Text,
                                Ruc           = txtRUC.Text,
                                Telefono      = txtTelefono.Text,
                                Direccion     = txtDireccion.Text,
                                Email         = txtEmail.Text,
                                PaginaWeb     = txtPagWeb.Text,
                                TipoPersona   = "JURÍDICA"
                            };
                            bd.Persona.Insertar(personaNueva);
                            bd.Grabar();
                            IdPersonaInsertada = personaNueva.Id;
                        }
                        else
                        {
                            IdPersonaInsertada = 0;
                        }
                        break;
                    }
                }
                //MostrarMensajes("Operación realizada con éxito");
            }
            catch (Exception ex)
            {
                IdPersonaInsertada = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en adminsitración personas: " + ex.Message);
            }
            return(IdPersonaInsertada);
        }
示例#3
0
        /// <summary>
        /// Inserta o actualiza empresas de acuerdo al parámetro Operación
        /// </summary>
        /// <param name="idpersona">0 = No se Inserta, >0 = Si se inserta persona</param>
        /// <param name="Operacion">1=Editar, 2=Insertar</param>
        /// <returns></returns>
        protected int AdministrarEmpresa(int idpersona, int Operacion)
        {
            try
            {
                bool esprov = false;
                if (int.Parse(cmbProveedor.Value.ToString()) == 1)
                {
                    esprov = true;
                }
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Empresa empresaActualizar = bd.Empresa.ObtenerPorId(int.Parse(txtId.Text));
                        empresaActualizar.IdEstado  = int.Parse(cmbEstado.Value.ToString());
                        empresaActualizar.Proveedor = esprov;
                        empresaActualizar.Contacto  = txtContact.Text;
                        bd.Empresa.Actualizar(empresaActualizar);
                        bd.Grabar();
                        idEmpresaInsertada = 0;
                        MostrarMensajes("Operación realizada con éxito");
                        break;

                    case 2:
                        if (idpersona > 0)
                        {
                            var empresaInsertar = new Empresa
                            {
                                IdPersona     = idpersona,
                                FechaCreacion = DateTime.Today,
                                IdEstado      = 8,
                                Proveedor     = esprov,
                                Contacto      = txtContact.Text
                            };
                            bd.Empresa.Insertar(empresaInsertar);
                            bd.Grabar();
                            idEmpresaInsertada = empresaInsertar.Id;
                            MostrarMensajes("Operación realizada con éxito");
                        }
                        else
                        {
                            MostrarMensajes("Operación denegada: El RUC ya se encuentra registrado!!");
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                idEmpresaInsertada = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en administración empresas: " + ex.Message);
            }
            return(idEmpresaInsertada);
        }
        protected void btnAjustar_Click(object sender, EventArgs e)
        {
            try
            {
                using (var bd = new UnidadDeTrabajo())
                {
                    Stock stock = bd.Stock.Stock_leer(int.Parse(cmbMaterial.Value.ToString()), int.Parse(cmbAlmacen.Value.ToString()));
                    if (stock.Stock1 + int.Parse(txtCantAjustar.Text) < 0)
                    {
                        lblErrores.Text = "Error: El resultado de ajustar no puede dar stock negativo";
                    }
                    else
                    {
                        //stock.Stock1 += int.Parse(txtCantAjustar.Text);
                        if (txtNumeroAjuste.Text == "")
                        {
                            AjusteInventario ai = new AjusteInventario
                            {
                                idAlmacen                                                     = int.Parse(cmbAlmacen.Value.ToString()),
                                idUsuario                                                     = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                                          Fecha               = DateTime.Now,
                                                                          FechaAprobacion     = DateTime.Now,
                                                                          Motivo              = txtMotivo.Text,
                                                                          IdUsuarioAprobacion = 0,
                                                                          IdEstado            = 1
                            };

                            bd.AjusteInventario.Insertar(ai);
                            bd.Grabar();

                            txtNumeroAjuste.Text    = ai.id.ToString();
                            cmbAlmacen.ReadOnly     = true;
                            txtMotivo.Text          = ai.Motivo.ToString();
                            txtMotivo.ClientEnabled = false;
                            CargarAjustesInventario_Lista();
                        }
                        AjusteInventarioDetalle aid = new AjusteInventarioDetalle();
                        aid.idAjusteInventario = int.Parse(txtNumeroAjuste.Text);
                        aid.IdMaterial         = int.Parse(cmbMaterial.Value.ToString());
                        aid.Cantidad           = double.Parse(txtCantAjustar.Text);

                        bd.AjusteInventarioDetalle.Insertar(aid);
                        bd.Grabar();
                        txtCantAjustar.Text = null;
                        //txtCantAjustar.Text = "";
                        ProductosAjustados_actualizar();
                    }
                }
            }
            catch (Exception ex)
            {
                lblErrores.Text = "Error: " + ex.Message;
            }
        }
示例#5
0
        protected void btnAprobarRequerimiento_Click(object sender, EventArgs e)
        {
            Requerimiento req_x_aprobar = new Requerimiento();

            try
            {
                NumeroRequerimiento = Request.QueryString["Id"];
                using (var db = new UnidadDeTrabajo())
                {
                    req_x_aprobar = db.Requerimiento.ObtenerPorId(int.Parse(NumeroRequerimiento));
                    if (req_x_aprobar.IdEstado == 27)
                    {
                        MostrarMensajes("Este requerimiento ya ha sido aprobado");
                    }
                    else
                    {
                        req_x_aprobar.IdEstado = 27;
                        db.Requerimiento.Actualizar(req_x_aprobar);
                        db.Grabar();

                        //int numeroProvRequerimiento = db.RequerimientoDetalle.ObtenerProveedoresPorRequerimiento(req_x_aprobar.Id).Count;
                        List <int> IdsProveedores = db.RequerimientoDetalle.ObtenerProveedoresPorRequerimiento(req_x_aprobar.Id);
                        for (int i = 0; i < IdsProveedores.Count; i++)
                        {
                            OrdenCompra oc = new OrdenCompra
                            {
                                IdRequerimiento                                   = req_x_aprobar.Id,
                                IdEstado                                          = 10,
                                DocumentoReferencia                               = req_x_aprobar.DocumentoReferencia,
                                IdUsuario                                         = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                                    FechaCreacion = DateTime.Now,
                                                                    Fecha         = DateTime.Now,
                                                                    TipoOrden     = "",
                                                                    IdEmpresa     = IdsProveedores[i],
                            };
                            db.OrdenCompra.Insertar(oc);
                            db.Grabar();

                            db.OrdenCompraDetalle.InsertarOrdenCompraDetalle_x_OrdenCompra(oc, IdsProveedores[i]);
                        }
                        MostrarMensajes("Operación realizada con éxito");
                    }
                    pcEditorRequerimientos.ShowOnPageLoad = false;
                    ObtenerRequerimientos();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#6
0
        protected int AdministrarServicio(int Operacion)
        {
            try
            {
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Servicio ServicioActualizar = bd.Servicio.ObtenerPorId(int.Parse(txtId.Text));
                        ServicioActualizar.IdEstado    = int.Parse(cmbEstado.Value.ToString());
                        ServicioActualizar.Descripcion = txtDescripcion.Text;
                        ServicioActualizar.Precio      = double.Parse(txtPrecio.Text);
                        ServicioActualizar.Observacion = txtObservacion.Text;
                        ServicioActualizar.IdUsuario   = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                        ServicioActualizar.CodigoServicio = txtCodigo.Text;
                        bd.Servicio.Actualizar(ServicioActualizar);
                        bd.Grabar();
                        idServicioInsertado = 0;
                        break;

                    case 2:
                        var ServicioInsertar = new Servicio
                        {
                            Precio        = double.Parse(txtPrecio.Text),
                            FechaCreacion = DateTime.Today,
                            IdEstado      = 31,
                            Descripcion   = txtDescripcion.Text,
                            Observacion   = txtObservacion.Text,
                            IdUsuario     = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                CodigoServicio = txtCodigo.Text
                        };
                        bd.Servicio.Insertar(ServicioInsertar);
                        bd.Grabar();
                        idServicioInsertado = ServicioInsertar.Id;

                        break;
                    }
                }
                MostrarMensajes("Operación realizada con éxito");
            }
            catch (Exception ex)
            {
                idServicioInsertado = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en administración Servicioes: " + ex.Message);
            }
            return(idServicioInsertado);
        }
示例#7
0
        /// <summary>
        /// Inserta o actualiza empresas de acuerdo al parámetro Operación
        /// </summary>
        /// <param name="idpersona">0 = No se Inserta, >0 = Si se inserta persona</param>
        /// <param name="Operacion">1=Editar, 2=Insertar</param>
        /// <returns></returns>
        protected int AdministrarEmpleado(int idpersona, int Operacion)
        {
            try
            {
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Empleado empleadoActualizar = bd.Empleado.ObtenerPorId(int.Parse(txtId.Text));
                        empleadoActualizar.IdEstado        = int.Parse(cmbEstado.Value.ToString());
                        empleadoActualizar.IdCargo         = int.Parse(cmbCargo.Value.ToString());
                        empleadoActualizar.IdTipoProfesion = int.Parse(cmbProfesion.Value.ToString());
                        bd.Empleado.Actualizar(empleadoActualizar);
                        bd.Grabar();
                        idEmpleadoInsertado = 0;
                        MostrarMensajes("Operación realizada con éxito");
                        break;

                    case 2:
                        if (idpersona > 0)
                        {
                            var empleadoInsertar = new Empleado
                            {
                                IdPersona       = idpersona,
                                IdEstado        = 6,
                                IdCargo         = int.Parse(cmbCargo.Value.ToString()),
                                IdTipoProfesion = int.Parse(cmbProfesion.Value.ToString())
                            };
                            bd.Empleado.Insertar(empleadoInsertar);
                            bd.Grabar();
                            idEmpleadoInsertado = empleadoInsertar.Id;
                        }
                        else
                        {
                            MostrarMensajes("Operación denegada: ya existe un empleado registrado con el número de dni ingresado!!");
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                idEmpleadoInsertado = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en administración empresas: " + ex.Message);
            }
            return(idEmpleadoInsertado);
        }
示例#8
0
        protected void cpSaveDatosOT_Callback(object sender, CallbackEventArgsBase e)
        {
            try
            {
                using (var db = new UnidadDeTrabajo())
                {
                    OrdenTrabajo ot = db.OrdenTrabajo.ObtenerPorId(int.Parse(lblIdOrden.Text));
                    switch (int.Parse(e.Parameter))
                    {
                    case 1:
                        //ot.OperadoresBodegaInventario = cmbOperadorB.Text;
                        //ot.ComentariosBodegaInventario = txtObservacionesB.Text;
                        break;

                    case 2:
                        ot.OperadoresPrensa  = cmbOperadorP.Text;
                        ot.ComentariosPrensa = txtObservacionesP.Text;
                        break;
                    }
                    db.OrdenTrabajo.Actualizar(ot);
                    db.Grabar();

                    cpSaveDatosOT.JSProperties["cpResultado"] = "Operación realizada con éxito";
                }
            }
            catch (Exception ex)
            {
                cpSaveDatosOT.JSProperties["cpResultado"] = "Error: " + ex.Message;
            }
        }
示例#9
0
        protected void dgPrensaOrdenTrabajo_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
        {
            try
            {
                using (var db = new UnidadDeTrabajo())
                {
                    OrdenTrabajo ordenTrabajo = db.OrdenTrabajo.ObtenerPorId(int.Parse(lblIdOrden.Text));
                    ordenTrabajo.OperadoresPrensa  = cmbOperadorP.Text;
                    ordenTrabajo.ComentariosPrensa = txtObservacionesP.Text;
                    db.OrdenTrabajo.Actualizar(ordenTrabajo);
                    db.Grabar();

                    foreach (var item in e.InsertValues)
                    {
                        db.PrensaOrdenTrabajo.InsertarValoresPrensaOrdenTrabajo(item.NewValues, int.Parse(lblIdOrden.Text.ToString()));
                    }
                    foreach (var item in e.UpdateValues)
                    {
                        db.PrensaOrdenTrabajo.ActualizarValoresPrensaOrden(item.Keys, item.NewValues);
                    }
                }
                //pcEditorOrdenesTrabajo.ShowOnPageLoad = false;
                dgPrensaOrdenTrabajo.JSProperties["cpPrensaOrden"] = "Operación realizada con éxito";
                CargarDatosPrensaOrdenTrabajo(int.Parse(lblIdOrden.Text));
            }
            catch (Exception ex)
            {
                dgPrensaOrdenTrabajo.JSProperties["cpPrensaOrden"] = "Ha ocurrido un error inesperado: " + ex.Message;
            }
            e.Handled = true;
        }
示例#10
0
        protected void dgSalidaMateriales_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            dgSalidaMateriales.JSProperties["cpOperacionesCot"] = null;
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                string url = "SalidaMateriales.aspx?Id=" + int.Parse(dgSalidaMateriales.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.RedirectLocation = url;
                break;

            case "Anular":
                try
                {
                    //SalidaMateriales Cot_anular = wu.SalidaMateriales.ObtenerPorId(int.Parse(dgSalidaMateriales.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    //Cot_anular.IdEstado = 36;
                    //wu.SalidaMaterial.Actualizar(Cot_anular);
                    wu.Grabar();
                    cargarSalidaMateriales();
                    dgSalidaMateriales.JSProperties["cpOperacionesCot"] = "Operación realizada con éxito";
                }
                catch (Exception ex)
                {
                    dgSalidaMateriales.JSProperties["cpOperacionesCot"] = "Ha ocurrido un error inesperado: " + ex.Message;
                }

                break;

            case "VerReporteSM":
                Session["ItemClickeado"] = "SalidaMateriales";
                dgSalidaMateriales.JSProperties["cpRedireccion"] = "Reporte.aspx?salma=" + int.Parse(dgSalidaMateriales.GetRowValues(e.VisibleIndex, "Id").ToString());
                break;
            }
        }
示例#11
0
        /// <summary>
        /// Inserta o actualiza empresas de acuerdo al parámetro Operación
        /// </summary>
        /// <param name="idpersona">0 = No se Inserta, >0 = Si se inserta persona</param>
        /// <param name="Operacion">1=Editar, 2=Insertar</param>
        /// <returns></returns>
        protected int AdministrarCliente(int idpersona, int Operacion)
        {
            try
            {
                using (UnidadDeTrabajo bd = new UnidadDeTrabajo())
                {
                    switch (Operacion)
                    {
                    case 1:
                        Cliente clienteActualizar = bd.Cliente.ObtenerPorId(int.Parse(txtId.Text));
                        clienteActualizar.IdEstado = int.Parse(cmbEstado.Value.ToString());
                        bd.Cliente.Actualizar(clienteActualizar);
                        bd.Grabar();
                        idClienteInsertado = 0;
                        MostrarMensajes("Operación realizada con éxito");
                        break;

                    case 2:
                        if (idpersona > 0)
                        {
                            var clienteInsertar = new Cliente
                            {
                                IdPersona     = idpersona,
                                FechaCreacion = DateTime.Today,
                                IdEstado      = 15,
                            };
                            bd.Cliente.Insertar(clienteInsertar);
                            bd.Grabar();
                            idClienteInsertado = clienteInsertar.IdCliente;
                            MostrarMensajes("Operación realizada con éxito");
                        }
                        else
                        {
                            MostrarMensajes("Operación denegada: ya existe un cliente registrado con el número de dni ingresado!!");
                        }
                        break;
                    }
                }
                //MostrarMensajes("Operación realizada con éxito");
            }
            catch (Exception ex)
            {
                idClienteInsertado = 0;
                MostrarMensajes("Ha ocurrido un error inesperado en administración clientes: " + ex.Message);
            }
            return(idClienteInsertado);
        }
示例#12
0
        protected void cpPosPrensa_Callback(object sender, CallbackEventArgsBase e)
        {
            try
            {
                using (var db = new UnidadDeTrabajo())
                {
                    PosPrensaOrdenTrabajo ppot = db.PosPrensaOrdenTrabajo.ObtenerPosPrensaOrdenTrabajo_IdOrden(int.Parse(lblIdOrden.Text));
                    ppot.Al            = int.Parse(cbxAl.Value.ToString());
                    ppot.Anillado      = cbxAnillado.Checked;
                    ppot.Barnizado     = cbxBarnizado.Checked;
                    ppot.Brillante     = cbxBrillante.Checked;
                    ppot.Brillante1    = cbxBrillante1.Checked;
                    ppot.Compaginado   = cbxCompaginado.Checked;
                    ppot.Del           = int.Parse(cbxDel.Value.ToString());
                    ppot.DobleRing     = cbxDobleRing.Checked;
                    ppot.Encolado      = cbxEncolado.Checked;
                    ppot.Engrampado    = cbxEngrampado.Checked;
                    ppot.Mate          = cbxMate.Checked;
                    ppot.Mate1         = cbxMate1.Checked;
                    ppot.Numerado      = cbxNumerado.Checked;
                    ppot.Perforado     = cbxPerforado.Checked;
                    ppot.Plastificado  = cbxPlastificado.Checked;
                    ppot.Refilado      = cbxRefilado.Checked;
                    ppot.Tira          = cbxTira.Checked;
                    ppot.Tira1         = cbxTira1.Checked;
                    ppot.TiraRetira    = cbxTiraRet.Checked;
                    ppot.RetiraRetira1 = cbxTiraRet1.Checked;
                    ppot.Troquelado    = cbxTroquelado.Checked;

                    db.PosPrensaOrdenTrabajo.Actualizar(ppot);
                    db.Grabar();

                    OrdenTrabajo ot = db.OrdenTrabajo.ObtenerPorId(int.Parse(lblIdOrden.Text));
                    ot.OperadoresPosPrensa  = cmbOperadorPP.Text;
                    ot.ComentariosPosPrensa = txtObservacionesPP.Text;

                    db.OrdenTrabajo.Actualizar(ot);
                    db.Grabar();

                    cpPosPrensa.JSProperties["cpResultado"] = "Operación realizada con éxito";
                }
            }
            catch (Exception ex)
            {
                cpPosPrensa.JSProperties["cpResultado"] = "Error: " + ex.Message;
            }
        }
示例#13
0
 protected void dgRequerimientoDetalle_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
 {
     try
     {
         NumeroRequerimiento = Request.QueryString["Id"];
         using (var db = new UnidadDeTrabajo())
         {
             if (NumeroRequerimiento == "Nuevo")
             {
                 Requerimiento req = new Requerimiento
                 {
                     Fecha         = DateTime.Now,
                     FechaCreacion = DateTime.Now,
                     IdUsuario     = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                         TipoRequerimiento   = "",
                                         DocumentoReferencia = "",
                                         IdEstado            = 26,
                 };
                 db.Requerimiento.Insertar(req);
                 db.Grabar();
                 foreach (var item in e.InsertValues)
                 {
                     db.RequerimientoDetalle.InsertarValoresRequerimientoDetalle(item.NewValues, req.Id, decimal.Parse(txtPrecioDolar.Text));
                 }
                 NumeroRequerimiento = req.Id.ToString();
                 string url = "Requerimientos.aspx?Id=" + NumeroRequerimiento;
                 Response.RedirectLocation = url;
             }
             else
             {
                 foreach (var item in e.InsertValues)
                 {
                     db.RequerimientoDetalle.InsertarValoresRequerimientoDetalle(item.NewValues, int.Parse(NumeroRequerimiento.ToString()), decimal.Parse(txtPrecioDolar.Text));
                 }
                 foreach (var item in e.UpdateValues)
                 {
                     db.RequerimientoDetalle.ActualizarRequerimientoDetalle(item.Keys, item.NewValues);
                 }
                 foreach (var item in e.DeleteValues)
                 {
                     db.RequerimientoDetalle.EliminarRequerimientoDetalle(item.Keys);
                 }
             }
             dgRequerimientoDetalle.DataSource = db.RequerimientoDetalle.ObtenerDetalleRequerimiento(int.Parse(NumeroRequerimiento));
             dgRequerimientoDetalle.DataBind();
         }
         dgRequerimientoDetalle.JSProperties["cpOperacionGrid"] = "Operación realizada con éxito";
     }
     catch (Exception ex)
     {
         dgRequerimientoDetalle.JSProperties["cpOperacionGrid"] = "Ha ocurrido un error inesperado: " + ex.Message;
     }
     e.Handled = true;
 }
示例#14
0
        protected void dgRecepciones_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                dgRecepcionDetalle.Visible  = true;
                cmbIdOrdenCompra.DataSource = wu.OrdenCompra.ObtenerListaOrdenesCompra();
                cmbIdOrdenCompra.ValueField = "Id";
                cmbIdOrdenCompra.TextField  = "RazonSocial";
                cmbIdOrdenCompra.DataBind();

                cmbIdOrdenCompra.ReadOnly = true;

                //cmbProveedor.DataSource = wu.Empresa.ObtenerListaProveedores();
                //cmbProveedor.DataBind();

                cmbTipoDocumento.DataSource = wu.TipoDocumento.Obtener();
                cmbTipoDocumento.DataBind();

                //var ordenCompra = wu.OrdenCompra.ObtenerListaOrdenesCompra().ToList();
                //ordenCompra.
                Recepcion Recepcion = wu.Recepcion.ObtenerPorId(int.Parse(dgRecepciones.GetRowValues(e.VisibleIndex, "Id").ToString()));
                cmbIdOrdenCompra.Value        = Recepcion.IdOrdenCompra;
                cmbProveedor.Value            = Recepcion.IdEmpresa;
                deFechaRecepcion.Value        = Recepcion.Fecha;
                txtNumeroDocumento.Value      = Recepcion.NumeroComprobante;
                txtSerieDocumento.Value       = Recepcion.SerieComprobante;
                txtNumeroGuia.Value           = Recepcion.NumeroGuiaRemision;
                txtSerieGuia.Value            = Recepcion.SerieGuiaRemision;
                cmbProveedor.Value            = Recepcion.IdEmpresa;
                dgRecepcionDetalle.DataSource = wu.RecepcionDetalle.ObtenerDetalleRecepcion(Recepcion.Id);
                dgRecepcionDetalle.DataBind();
                cmbTipoDocumento.Value             = Recepcion.IdTipoDocumento;
                dgRecepcionDetalleNew.Visible      = false;
                pcEditorRecepciones.ShowOnPageLoad = true;
                break;

            case "Anular":
                Recepcion OrdenC_anular = wu.Recepcion.ObtenerPorId(int.Parse(dgRecepciones.GetRowValues(e.VisibleIndex, "Id").ToString()));
                OrdenC_anular.IdEstado = 11;
                wu.Recepcion.Actualizar(OrdenC_anular);
                wu.Grabar();
                cargarRecepciones();
                break;

            case "showReport":
                Session["ItemClickeado"] = "RecepcionCompra";
                string url = "Reporte.aspx?Recepcion=" + int.Parse(dgRecepciones.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.Write("<script>window.open('" + url + "','_blank');</script>");
                break;
            }
        }
示例#15
0
 protected void cpUpdateFecha_Callback(object sender, CallbackEventArgsBase e)
 {
     using (var bd = new UnidadDeTrabajo())
     {
         Cotizacion cot = bd.Cotizacion.ObtenerPorId(int.Parse(NumeroCotizacion));
         cot.FechaEntrega = DateTime.Parse(e.Parameter.ToString());
         bd.Cotizacion.Actualizar(cot);
         bd.Grabar();
         cpUpdateFecha.JSProperties["cpUpdateFecha"] = "Fecha de Entrega Actualizada!";
     }
     deFechaEntrega.Value = DateTime.Parse(e.Parameter.ToString());
 }
示例#16
0
 protected void cpUpdateFecha_Callback(object sender, CallbackEventArgsBase e)
 {
     using (var bd = new UnidadDeTrabajo())
     {
         OrdenVenta ov = bd.OrdenVenta.ObtenerPorId(int.Parse(NumeroOrdenVenta));
         ov.FechaEntrega = DateTime.Parse(e.Parameter.ToString());
         bd.OrdenVenta.Actualizar(ov);
         bd.Grabar();
         cpUpdateFecha.JSProperties["cpUpdateFecha"] = "Fecha de Entrega Actualizada!";
     }
     deFechaEntrega.Value = DateTime.Parse(e.Parameter.ToString());
 }
示例#17
0
 protected void dgRecepcionDetalleNew_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
 {
     try
     {
         using (var db = new UnidadDeTrabajo())
         {
             Recepcion recepcion = new Recepcion
             {
                 Fecha                                                       = DateTime.Now,
                 FechaCreacion                                               = DateTime.Now,
                 IdUsuario                                                   = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                          IdEmpresa          = int.Parse(cmbProveedor.Value.ToString()),
                                                          IdOrdenCompra      = int.Parse(cmbIdOrdenCompra.Value.ToString()),
                                                          IdTipoDocumento    = int.Parse(cmbTipoDocumento.Value.ToString()),
                                                          SerieComprobante   = txtSerieDocumento.Text,
                                                          NumeroComprobante  = int.Parse(txtNumeroDocumento.Value.ToString()),
                                                          SerieGuiaRemision  = txtSerieGuia.Text,
                                                          NumeroGuiaRemision = txtNumeroGuia.Value != null?int.Parse(txtNumeroGuia.Text) : 0,
                                                                                   IdEstado  = 22,
                                                                                   IdAlmacen = 1,
             };
             db.Recepcion.Insertar(recepcion);
             db.Grabar();
             foreach (var item in e.UpdateValues)
             {
                 db.RecepcionDetalle.InsertarValoresRecepcionDetalle(item.NewValues, recepcion.Id);
             }
             if (db.RecepcionDetalle.SumaCantidades_x_OrdenCompra(int.Parse(cmbIdOrdenCompra.Value.ToString())) == db.RecepcionDetalle.SumaCantidadesRecibidas_x_OrdenCompra(int.Parse(cmbIdOrdenCompra.Value.ToString())))
             {
                 db.OrdenCompra.RecepcionarOrdenCompra(int.Parse(cmbIdOrdenCompra.Value.ToString()), 12);
             }
             else
             {
                 db.OrdenCompra.RecepcionarOrdenCompra(int.Parse(cmbIdOrdenCompra.Value.ToString()), 21);
             }
         }
         pcEditorRecepciones.ShowOnPageLoad = false;
         dgRecepcionDetalleNew.JSProperties["cpAdminOperacion"] = "Operación realizada con éxito";
     }
     catch (Exception ex)
     {
         dgRecepcionDetalleNew.JSProperties["cpAdminOperacion"] = "Ha ocurrido un error inesperado: " + ex.Message;
     }
     e.Handled = true;
 }
示例#18
0
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            Almacen Almacen = new Almacen();

            if (campoO.Text == "1")//Editar
            {
                try
                {
                    using (var bd = new UnidadDeTrabajo())
                    {
                        Almacen             = bd.Almacen.ObtenerPorId(int.Parse(txtId.Text));
                        Almacen.Descripcion = txtDescripcion.Text;
                        Almacen.IdEstado    = int.Parse(cmbEstado.Value.ToString());
                        bd.Almacen.Actualizar(Almacen);
                        bd.Grabar();
                    }
                    MostrarMensajes("Operación realizada con éxito");
                }
                catch (Exception ex)
                {
                    MostrarMensajes("Ha ocurrido un error inesperado al actualizar: " + ex.Message);
                }
            }
            else //Agregar
            {
                try
                {
                    using (var bd = new UnidadDeTrabajo())
                    {
                        Almacen.Descripcion = txtDescripcion.Text;
                        Almacen.IdEstado    = 51;
                        bd.Almacen.Insertar(Almacen);
                        bd.Grabar();
                    }
                    MostrarMensajes("Operación realizada con éxito");
                }
                catch (Exception ex)
                {
                    MostrarMensajes("Ha ocurrido un error inesperado al agregar: " + ex.Message);
                }
            }
            pcAlmacenes.ShowOnPageLoad = false;
            cargarAlmacenes();
        }
示例#19
0
 protected void cpSaveCosto_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e)
 {
     try
     {
         using (var ut = new UnidadDeTrabajo())
         {
             Cotizacion cot = ut.Cotizacion.ObtenerPorId(int.Parse(e.Parameter.ToString()));
             cot.CostoTotal   = int.Parse(seCostoTotal.Value.ToString());
             cot.AdelantoPago = int.Parse(seAdelanto.Value.ToString());
             ut.Cotizacion.Actualizar(cot);
             ut.Grabar();
         }
         cpSaveCosto.JSProperties["cpMensajeResult"] = "Operación realizada con éxito";
     }
     catch (Exception ex)
     {
         cpSaveCosto.JSProperties["cpMensajeResult"] = "Error: " + ex.Message;
     }
 }
        protected void btnApplyCreditNote_Click(object sender, EventArgs e)
        {
            using (var db = new UnidadDeTrabajo())
            {
                try
                {
                    ComprobanteVenta cva = db.ComprobanteVenta.ObtenerPorId(int.Parse(txtComprobante.Text)); //Comprobante de venta afectado
                    ComprobanteVenta cv  = new ComprobanteVenta
                    {
                        //{
                        Fecha                                                             = DateTime.Now,
                        IdPersona                                                         = cva.IdPersona,
                        Serie                                                             = cva.IdTipoDocumento == 1 ? "FC01" : cva.IdTipoDocumento == 2 ? "BC01" : "TC01",
                        Numero                                                            = 0,
                        Descuento                                                         = cva.Descuento,
                        Total                                                             = cva.Total,
                        IGV                                                               = 18,
                        FechaCreacion                                                     = DateTime.Now,
                        IdTipoDocumento                                                   = 4,
                        IdMotivoComprobante                                               = 3,
                        IdTipoPago                                                        = 1,
                        IdCaja                                                            = 1,
                        Observacion                                                       = "Emitido",
                        IdEstado                                                          = 65,
                        IdUsuario                                                         = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                                    IdOrdenVenta          = cva.IdOrdenVenta,
                                                                    IdComprobanteVentaRef = cva.IdComprobanteVenta,
                                                                    MotivoNotaCredito     = txtMotivo.Text
                    };

                    //};
                    db.ComprobanteVenta.Insertar(cv);
                    db.Grabar();
                    pcEmisorNotasCredito.ShowOnPageLoad = false;
                    dgComprobantes.DataBind();
                    MostrarMensajes("Operacion realizada con éxito");
                }
                catch (Exception ex)
                {
                    MostrarMensajes("Ha ocurrido un error inesperado: " + ex.Message);
                }
            }
        }
示例#21
0
        protected void dgOrdenesCompra_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                dgOrdenCompraDetalle.DataSource = wu.OrdenCompraDetalle.ObtenerDetalleOrdenCompra(int.Parse(dgOrdenesCompra.GetRowValues(e.VisibleIndex, "Id").ToString()));
                dgOrdenCompraDetalle.DataBind();

                var ordenCompra = wu.OrdenCompra.ObtenerOrdenCompraPorId(int.Parse(dgOrdenesCompra.GetRowValues(e.VisibleIndex, "Id").ToString()));
                txtFecha.Text        = ordenCompra.Fecha.ToString();
                txtProveedor.Text    = ordenCompra.RazonSocial;
                txtEstadoOCD.Text    = ordenCompra.Estado;
                txtDocumentoRef.Text = ordenCompra.DocumentoReferencia;
                pcEditorOrdenesCompra.ShowOnPageLoad = true;
                break;

            case "Anular":
                OrdenCompra OrdenC_anular = wu.OrdenCompra.ObtenerPorId(int.Parse(dgOrdenesCompra.GetRowValues(e.VisibleIndex, "Id").ToString()));
                if (OrdenC_anular.IdEstado != 10)
                {
                    MostrarMensajes("Solo se puede anular una orden de compra que aún no ha sido recepcionada");
                }
                else
                {
                    OrdenC_anular.IdEstado = 11;
                    wu.OrdenCompra.Actualizar(OrdenC_anular);
                    wu.Grabar();
                    cargarRecepciones();
                }

                break;

            case "ViewReport":
                Session["ItemClickeado"] = "OrdenCompra";
                string url = "Reporte.aspx?idoc=" + int.Parse(dgOrdenesCompra.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.Write("<script>window.open('" + url + "','_blank');</script>");
                break;
            }
        }
示例#22
0
        protected void btnSaveEgreso_Click(object sender, EventArgs e)
        {
            Egresos eg = new Egresos
            {
                IdEmpleado = int.Parse(cbEmpleado.Value.ToString()),
                IdUsuario  = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                 FechaCreacion = DateTime.Now,
                                 IdEstado      = 72,
                                 Monto         = decimal.Parse(seMonto.Value.ToString()),
                                 Motivo        = txtMotivo.Text,
            };

            using (var db = new UnidadDeTrabajo())
            {
                db.Egresos.Insertar(eg);
                db.Grabar();
            }

            CargarEgresos_Lista();
            ASPxTransferencias.ShowOnPageLoad = false;
        }
示例#23
0
        protected void dgRequerimientos_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                string url = "Requerimientos.aspx?Id=" + int.Parse(dgRequerimientos.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.RedirectLocation = url;
                break;

            case "Anular":
                try
                {
                    Requerimiento Req_anular = wu.Requerimiento.ObtenerPorId(int.Parse(dgRequerimientos.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    if (Req_anular.IdEstado == 27)
                    {
                        dgRequerimientos.JSProperties["cpOperacionGrid"] = "Operación denegada, el requerimiento ya ha sido aprobado";
                    }
                    else if (Req_anular.IdEstado == 28)
                    {
                        dgRequerimientos.JSProperties["cpOperacionGrid"] = "Operación denegada, el requerimiento ya ha sido anulado";
                    }
                    else
                    {
                        Req_anular.IdEstado = 28;
                        wu.Requerimiento.Actualizar(Req_anular);
                        wu.Grabar();
                        cargarRequerimientos();
                        dgRequerimientos.JSProperties["cpOperacionGrid"] = "Operación realizada con éxito";
                    }
                }
                catch (Exception ex) { dgRequerimientos.JSProperties["cpOperacionGrid"] = "Ha ocurrido un error: " + ex.Message; }
                break;

            case "VerReporte":

                break;
            }
        }
示例#24
0
        protected void cpSaveAdelanto_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            try
            {
                var sumAd = wu.AdelantosOrdenVenta.ObtenerSaldo_x_OrdenVenta(int.Parse(NumeroOrdenVenta));
                if (decimal.Parse(seMonto.Text) > sumAd)
                {
                    cpSaveAdelanto.JSProperties["cpMensajeResult"] = "El adelanto que intenta registrar supera el total de saldo!";
                }
                else
                {
                    AdelantosOrdenVenta ad = new AdelantosOrdenVenta
                    {
                        Fecha                                           = DateTime.Now,
                        IdUsuario                                       = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                                           Monto        = decimal.Parse(seMonto.Text),
                                                           Motivo       = txtObserv.Text,
                                                           IdOrdenVenta = int.Parse(NumeroOrdenVenta)
                    };

                    wu.AdelantosOrdenVenta.Insertar(ad);
                    wu.Grabar();
                    cpSaveAdelanto.JSProperties["cpMensajeResult"] = "Operación realizada correctamente";
                }
            }
            catch (Exception ex)
            {
                cpSaveAdelanto.JSProperties["cpMensajeResult"] = "Error: " + ex.Message;
            }
            //    OrdenVenta ov = wu.OrdenVenta.ObtenerPorId(int.Parse(e.Parameter.Split('|')[0]));
            //    ov.CostoTotal = decimal.Parse(e.Parameter.Split('|')[1]);
            //    ov.AdelantoPago = decimal.Parse(e.Parameter.Split('|')[2]);
            //    wu.OrdenVenta.Actualizar(ov);
            //    wu.Grabar();

            //    cpSaveCosto.JSProperties["cpMensajeResult"] = "Operación realizada con éxito";
            //}
        }
示例#25
0
        protected void dgEgresos_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            switch (e.ButtonID)
            {
            case "Detail":
                Egresos eg = new Egresos();
                using (var db = new UnidadDeTrabajo())
                {
                    eg               = db.Egresos.ObtenerPorId(int.Parse(dgEgresos.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    IdEgreso.Value   = eg.IdEgreso;
                    fecha.Value      = eg.FechaCreacion;
                    cbEmpleado.Value = eg.IdEmpleado;
                    txtUser.Text     = db.Usuario.ObtenerPorId(eg.IdUsuario).Nombre;
                    txtMotivo.Text   = eg.Motivo;
                    seMonto.Value    = eg.Monto;
                }
                txtMotivo.Enabled  = false;
                seMonto.Enabled    = false;
                cbEmpleado.Enabled = false;
                fecha.Enabled      = false;
                ASPxTransferencias.ShowOnPageLoad = true;
                break;

            case "Delete":
                using (var db = new UnidadDeTrabajo())
                {
                    Egresos egr = db.Egresos.ObtenerPorId(int.Parse(dgEgresos.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    egr.IdEstado             = 73;
                    egr.IdUsuarioEliminacion = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                    egr.FechaEliminacion = DateTime.Now;

                    db.Egresos.Actualizar(egr);
                    db.Grabar();
                }
                CargarEgresos_Lista();
                break;
            }
        }
示例#26
0
        protected void dgRequerimientos_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                string url = "AprobarRequerimientos.aspx?Id=" + int.Parse(dgRequerimientos.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.RedirectLocation = url;
                break;

            case "Anular":
                try
                {
                    Requerimiento Req_anular = wu.Requerimiento.ObtenerPorId(int.Parse(dgRequerimientos.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    Req_anular.IdEstado = 28;
                    wu.Requerimiento.Actualizar(Req_anular);
                    wu.Grabar();
                    MostrarMensajes("Operación realizada con éxito");
                }
                catch (Exception ex) { MostrarMensajes("Ha ocurrido un error: " + ex.Message); }
                break;
            }
        }
示例#27
0
        protected void dgCotizaciones_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            dgCotizaciones.JSProperties["cpOperacionesCot"] = null;
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                string url = "Cotizaciones.aspx?Id=" + int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.RedirectLocation = url;
                break;

            case "Anular":
                try
                {
                    Cotizacion Cot_anular = wu.Cotizacion.ObtenerPorId(int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    if (Cot_anular.IdEstado == 36)
                    {
                        dgCotizaciones.JSProperties["cpOperacionesCot"] = "Operación denegada, la cotización ya ha sido anulada";
                    }
                    else if (Cot_anular.IdEstado == 47)
                    {
                        dgCotizaciones.JSProperties["cpOperacionesCot"] = "Operación denegada, la cotización ya ha sido convertida en orden de venta";
                    }
                    else
                    {
                        Cot_anular.IdEstado = 36;
                        wu.Cotizacion.Actualizar(Cot_anular);
                        wu.Grabar();
                        cargarCotizaciones();
                        dgCotizaciones.JSProperties["cpOperacionesCot"] = "Operación realizada con éxito";
                    }
                }
                catch (Exception ex)
                {
                    dgCotizaciones.JSProperties["cpOperacionesCot"] = "Ha ocurrido un error inesperado: " + ex.Message;
                }

                break;

            case "btnToOrdenVenta":
                string mensaje = null;
                try
                {
                    Cotizacion cot_ov = new Cotizacion();
                    using (var db = new UnidadDeTrabajo())
                    {
                        cot_ov = db.Cotizacion.ObtenerPorId(int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString()));
                    }
                    bool resultado = false;
                    switch (cot_ov.IdEstado)
                    {
                    case 47: mensaje = "Operación denegada: la cotización ya es una orden de venta"; break;

                    case 36: mensaje = "Operación denegada: la cotización ha sido anulada"; break;
                    }
                    int idusuario = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                    if (mensaje == null)
                    {
                        resultado = wu.Cotizacion.ConvertirCotizacion_OrdenVenta(int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString()), idusuario);
                        if (resultado)
                        {
                            using (var db = new UnidadDeTrabajo())
                            {
                                cot_ov          = db.Cotizacion.ObtenerPorId(int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString()));
                                cot_ov.IdEstado = 47;
                                db.Cotizacion.Actualizar(cot_ov);
                                db.Grabar();
                            }
                            dgCotizaciones.JSProperties["cpOperacionesCot"] = "Operación realizada con éxito";
                        }
                        cargarCotizaciones();
                    }
                    else
                    {
                        dgCotizaciones.JSProperties["cpOperacionesCot"] = mensaje;
                    }
                }
                catch (Exception ex)
                {
                    dgCotizaciones.JSProperties["cpOperacionesCot"] = "Ha ocurrido un erro inesperado: " + ex.Message;
                }
                break;

            case "VerReporteC":
                Session["ItemClickeado"] = "Cotizacion";
                dgCotizaciones.JSProperties["cpRedireccion"] = "Reporte.aspx?Cot=" + int.Parse(dgCotizaciones.GetRowValues(e.VisibleIndex, "Id").ToString());
                break;
            }
        }
示例#28
0
 protected void dgCotizacionDetalle_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
 {
     NumeroCotizacion = Request.QueryString["Id"];
     try
     {
         using (var db = new UnidadDeTrabajo())
         {
             if (NumeroCotizacion == "Nuevo")
             {
                 int?idClienteN = null, IdClienteJ = null;
                 if (int.Parse(rbOpciones.Value.ToString()) == 1)
                 {
                     idClienteN = int.Parse(hfIdCliente["IdPersona"].ToString());
                 }
                 if (int.Parse(rbOpciones.Value.ToString()) == 2)
                 {
                     IdClienteJ = int.Parse(hfIdCliente["IdPersona"].ToString());
                 }
                 Cotizacion Cot = new Cotizacion
                 {
                     Fecha             = DateTime.Now,
                     FechaCreacion     = DateTime.Now,
                     IdClienteNatural  = idClienteN,
                     IdClienteJuridico = IdClienteJ,
                     IdUsuario         = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1,
                                             TipoCotizacion      = int.Parse(rbOpciones.Value.ToString()) == 1 ? "PN-COMAT" : "PJ-COMAT",
                                             DocumentoReferencia = "",
                                             IdEstado            = 35,
                                             FechaEntrega        = DateTime.Parse(deFechaEntrega.Value.ToString())
                 };
                 db.Cotizacion.Insertar(Cot);
                 db.Grabar();
                 foreach (var item in e.InsertValues)
                 {
                     db.CotizacionDetalle.InsertarValoresCotizacionDetalle(item.NewValues, Cot.Id, decimal.Parse(txtPrecioDolar.Text));
                 }
                 NumeroCotizacion = Cot.Id.ToString();
                 string url = "Cotizaciones.aspx?Id=" + NumeroCotizacion;
                 Response.RedirectLocation = url;
             }
             else
             {
                 foreach (var item in e.InsertValues)
                 {
                     db.CotizacionDetalle.InsertarValoresCotizacionDetalle(item.NewValues, int.Parse(NumeroCotizacion.ToString()), decimal.Parse(txtPrecioDolar.Text));
                 }
                 foreach (var item in e.UpdateValues)
                 {
                     db.CotizacionDetalle.ActualizarCotizacionDetalle(item.Keys, item.NewValues, decimal.Parse(txtPrecioDolar.Text));
                 }
                 foreach (var item in e.DeleteValues)
                 {
                     db.CotizacionDetalle.EliminarCotizacionDetalle(item.Keys);
                 }
             }
             dgCotizacionDetalle.DataSource = db.CotizacionDetalle.ObtenerDetalleCotizacion(int.Parse(NumeroCotizacion));
             dgCotizacionDetalle.DataBind();
         }
         dgCotizacionDetalle.JSProperties["cpOperacionGrid"] = "Operación realizada con éxito";
         //cargarCotizaciones();
     }
     catch (Exception ex)
     {
         dgCotizacionDetalle.JSProperties["cpOperacionGrid"] = "Ha ocurrido un error inesperado: " + ex.Message;
     }
     e.Handled = true;
 }
示例#29
0
        protected void cpEmitirComprobante_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e)
        {
            switch (int.Parse(e.Parameter))
            {
            case 1:
                dtpFecha.Value            = DateTime.Today;
                dtpFechaVencimiento.Value = DateTime.Today;
                using (var db = new UnidadDeTrabajo())
                {
                    OrdenVenta ov = db.OrdenVenta.ObtenerPorId(int.Parse(hfIdOV.Get("IdOV").ToString()));
                    if (ov.IdClienteNatural > 0)
                    {
                        Cliente cl = db.Cliente.ObtenerPorId(ov.IdClienteNatural);
                        Persona p  = db.Persona.ObtenerPorId(cl.IdPersona);
                        lblPersona.Value      = p.ApellidoPaterno + " " + p.ApellidoMaterno + ", " + p.Nombres;
                        cbTipoDocumento.Value = 2;
                        cbTipoPago.Value      = 1;
                        hfIdOV.Set("IdOV", ov.Id);
                        hfIdPersona.Set("IdPersona", p.Id);
                        hfRuc.Set("RUC", p.Ruc);
                    }
                    else
                    {
                        Empresa em = db.Empresa.ObtenerPorId(ov.IdClienteJuridico);
                        Persona p  = db.Persona.ObtenerPorId(em.IdPersona);
                        lblPersona.Value      = p.RazonSocial;
                        cbTipoDocumento.Value = 1;
                        cbTipoPago.Value      = 1;
                        hfIdOV.Set("IdOV", ov.Id);
                        hfIdPersona.Set("IdPersona", p.Id);
                        hfRuc.Set("RUC", p.Ruc);
                    }
                    decimal tot = db.OrdenVentaDetalle.ObtenerTotalOrdenVenta(ov.Id);
                    txtSubTotalTicket.Value = Math.Round((double)tot / 1.18, 2);
                    txtIGV.Value            = Math.Round(((double)tot / 1.18) * 0.18, 2);
                    txtTotalTicket.Value    = tot;
                    txtDescuento.Value      = 0;
                    if (ov.TipoOrdenVenta.Contains("Trabajo"))
                    {
                        btnAceptar2.ClientEnabled = ov.IdEstado == 59 ? true : false;
                    }
                    else
                    {
                        btnAceptar2.ClientEnabled = ov.IdEstado == 39 ? true : false;
                    }
                }
                break;

            case 2:
                try
                {
                    using (var db = new UnidadDeTrabajo())
                    {
                        ComprobanteVenta cv = new ComprobanteVenta();
                        //{
                        cv.Fecha               = DateTime.Now;
                        cv.IdPersona           = int.Parse(hfIdPersona.Get("IdPersona").ToString());
                        cv.Serie               = int.Parse(cbTipoDocumento.Value.ToString()) == 1 ? "F001" : int.Parse(cbTipoDocumento.Value.ToString()) == 2 ? "B001" : "T001";
                        cv.Numero              = 0;
                        cv.Descuento           = double.Parse(txtDescuento.Text);
                        cv.Total               = double.Parse(txtTotalTicket.Text);
                        cv.IGV                 = 18;
                        cv.FechaCreacion       = DateTime.Now;
                        cv.IdTipoDocumento     = int.Parse(cbTipoDocumento.Value.ToString());
                        cv.IdMotivoComprobante = 1;
                        cv.IdTipoPago          = int.Parse(cbTipoPago.Value.ToString());
                        cv.IdCaja              = 1;
                        cv.Observacion         = "Emitido";
                        cv.IdEstado            = 65;
                        cv.IdUsuario           = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                        cv.IdOrdenVenta = int.Parse(hfIdOV.Get("IdOV").ToString());

                        //};
                        db.ComprobanteVenta.Insertar(cv);
                        db.Grabar();
                    }

                    cpEmitirComprobante.JSProperties["cpEmisionCV"] = "OK";
                }
                catch (Exception ex)
                {
                    cpEmitirComprobante.JSProperties["cpEmisionCV"] = "Error: " + ex.Message;
                }
                break;
            }
        }
示例#30
0
        protected void dgOrdenVentaes_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            switch (e.ButtonID)
            {
            case "Editar":
                string url = "OrdenesVenta.aspx?Id=" + int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString());
                Response.RedirectLocation = url;
                break;

            case "Anular":
                OrdenVenta Cot_anular = wu.OrdenVenta.ObtenerPorId(int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString()));
                if (Cot_anular.IdEstado == 48)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido facturada";
                }
                else if (Cot_anular.IdEstado == 40)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido Anulada";
                }
                else if (Cot_anular.IdEstado == 59)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya es una Orden de Trabajo";
                }
                else
                {
                    Cot_anular.IdEstado = 40;
                    wu.OrdenVenta.Actualizar(Cot_anular);
                    wu.Grabar();
                    cargarOrdenVentaes();
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación realizada con éxito";
                }
                break;

            case "btnVender":
                OrdenVenta Cot_vender = wu.OrdenVenta.ObtenerPorId(int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString()));
                if (Cot_vender.IdEstado == 48)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido facturada";
                }
                else if (Cot_vender.IdEstado == 40)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido Anulada";
                }
                else if (Cot_vender.IdEstado == 59)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya es una Orden de Trabajo";
                }
                else
                {
                    if (wu.OrdenVentaDetalle.ContarDetalleOrdenVentaMayorStock(int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString())) == 0)
                    {
                        Cot_vender.IdEstado = 48;
                        wu.OrdenVenta.Actualizar(Cot_vender);
                        try
                        {
                            wu.Grabar();
                            dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación realizada con éxito";
                        }
                        catch (Exception ex) { dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "error:" + ex.InnerException.Message; }
                        cargarOrdenVentaes();
                    }
                    else
                    {
                        dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: No hay suficientes unidades en stock";
                    }
                }
                break;

            case "btnToOt":
                OrdenVenta ordenv = wu.OrdenVenta.ObtenerPorId(int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString()));
                if (ordenv.IdEstado == 48)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido facturada";
                }
                else if (ordenv.IdEstado == 40)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya ha sido Anulada";
                }
                else if (ordenv.IdEstado == 59)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: La orden de venta ya es una Orden de Trabajo";
                }
                else if (ordenv.TipoOrdenVenta.Contains("Directa"))
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación denegada: Este tipo de orden de venta no puede convertirse en orden de trabajo";
                }
                else
                {
                    try
                    {
                        if (wu.OrdenVenta.ConvertirOrdenVenta_OrdenTrabajo(ordenv.Id, Session["IdUserActive"] != null ? int.Parse(Session["IdUserActive"].ToString()) : 1) == "")
                        {
                            ordenv.IdEstado = 59;
                            wu.OrdenVenta.Actualizar(ordenv);
                            wu.Grabar();
                            cargarOrdenVentaes();
                            dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Operación realizada correctamente";
                        }
                    }
                    catch (Exception ex)
                    {
                        dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "Error: " + ex.Message;
                    }
                }
                break;

            case "showReport":
                OrdenVenta ov = wu.OrdenVenta.ObtenerPorId(int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString()));
                if (ov.IdEstado != 48)
                {
                    dgOrdenesVenta.JSProperties["cpOperacionesGrid"] = "La orden de venta " + ov.Id + " aún no tiene comprobante";
                }
                else
                {
                    int IdCv            = wu.ComprobanteVenta.ObtenerComprobanteId_OrdenVenta(ov.Id);
                    ComprobanteVenta cv = wu.ComprobanteVenta.ObtenerPorId(IdCv);
                    switch (cv.IdTipoDocumento)
                    {
                    case 1:         //Factura
                        Session["ItemClickeado"] = "Factura";
                        break;

                    case 2:         //Boleta
                        Session["ItemClickeado"] = "Boleta";
                        break;

                    case 3:         //TicketVenta
                        Session["ItemClickeado"] = "TicketVenta";
                        break;
                    }
                    dgOrdenesVenta.JSProperties["cpRedireccion"] = "Reporte.aspx?cv=" + IdCv;
                }
                break;

            case "showProforma":
                Session["ItemClickeado"] = "Proforma";
                dgOrdenesVenta.JSProperties["cpRedireccion"] = "Reporte.aspx?ovp=" + int.Parse(dgOrdenesVenta.GetRowValues(e.VisibleIndex, "Id").ToString());
                break;
            }
        }