コード例 #1
0
        protected void dgSalidaMaterialDetalle_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
        {
            try
            {
                NumeroSalidaMaterial = Request.QueryString["Id"];
                using (var db = new UnidadDeTrabajo())
                {
                    if (NumeroSalidaMaterial == "Nuevo")
                    {
                        int?           idClienteN = null, IdClienteJ = null;
                        SalidaMaterial sm = new SalidaMaterial();

                        sm.Fecha         = DateTime.Now;
                        sm.FechaCreacion = DateTime.Now;
                        if (cmbTipoSalida.Value.ToString() == "PrestamoMateriales")
                        {
                            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());
                            }
                            sm.IdClienteNatural  = idClienteN;
                            sm.IdClienteJuridico = IdClienteJ;
                        }
                        else
                        {
                            sm.IdEmpleado     = int.Parse(cmbEmpleado.Value.ToString());
                            sm.IdOrdenTrabajo = int.Parse(cmbOrdenesTrabajo.Value.ToString());
                        }
                        sm.IdUsuario = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1;

                        sm.TipoSalidaMaterial  = cmbTipoSalida.Value.ToString();
                        sm.DocumentoReferencia = "";
                        sm.IdEstado            = 60;

                        db.SalidaMaterial.Insertar(sm);
                        db.Grabar();
                        foreach (var item in e.InsertValues)
                        {
                            db.SalidaMaterialesDetalle.InsertarValoresSalidaMaterialDetalle(item.NewValues, sm.Id, 0);
                        }
                        NumeroSalidaMaterial = sm.Id.ToString();
                        string url = "SalidaMateriales.aspx?Id=" + NumeroSalidaMaterial;
                        Response.RedirectLocation = url;
                    }
                    else
                    {
                        foreach (var item in e.InsertValues)
                        {
                            db.SalidaMaterialesDetalle.InsertarValoresSalidaMaterialDetalle(item.NewValues, int.Parse(NumeroSalidaMaterial.ToString()), 0);
                        }
                        foreach (var item in e.UpdateValues)
                        {
                            db.SalidaMaterialesDetalle.ActualizarSalidaMaterialesDetalle(item.Keys, item.NewValues, 0);
                        }
                        foreach (var item in e.DeleteValues)
                        {
                            db.SalidaMaterialesDetalle.EliminarSalidaMaterialDetalle(item.Keys);
                        }
                    }
                    dgSalidaMaterialDetalle.DataSource = db.SalidaMaterialesDetalle.ObtenerDetalleSalidaMateriales(int.Parse(NumeroSalidaMaterial));
                    dgSalidaMaterialDetalle.DataBind();
                }
                dgSalidaMaterialDetalle.JSProperties["cpOperacionGrid"] = "Operación realizada con éxito";
                //cargarSalidaMateriales();
            }
            catch (Exception ex)
            {
                dgSalidaMaterialDetalle.JSProperties["cpOperacionGrid"] = "Ha ocurrido un error inesperado: " + ex.Message;
            }
            e.Handled = true;
            pcEditorSalidaMateriales.ShowOnPageLoad = false;
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            UnidadDeTrabajo wu = new UnidadDeTrabajo();

            cmbOrdenesTrabajo.DataSource = wu.OrdenTrabajo.ObtenerListaOrdenesTrabajo_SalidaMateriales();
            cmbOrdenesTrabajo.ValueField = "Id";
            cmbOrdenesTrabajo.DataBind();

            NumeroSalidaMaterial = Request.QueryString["Id"];
            cargarSalidaMateriales();
            if (pcListadoEmpresas.IsCallback || dgEmpresas.IsCallback)
            {
                dgEmpresas.DataSource = wu.Empresa.ObtenerListaEmpresas();
                dgEmpresas.DataBind();
            }
            if (pcListadoClientes.IsCallback || dgClientes.IsCallback)
            {
                dgClientes.DataSource = wu.Cliente.ObtenerListaClientes();
                dgClientes.DataBind();
            }
            if (NumeroSalidaMaterial == "Nuevo")
            {
                //rbOpciones.Value = 1;
                dgSalidaMaterialDetalle.DataSource = wu.SalidaMaterialesDetalle.ObtenerDetalleSalidaMateriales(0);
                dgSalidaMaterialDetalle.DataBind();

                cmbEmpleado.DataSource = wu.Empleado.ObtenerListaEmpleados();
                cmbEmpleado.DataBind();
                pcEditorSalidaMateriales.ShowOnPageLoad = true;
            }
            if (NumeroSalidaMaterial != null && NumeroSalidaMaterial != "Nuevo")
            {
                cmbEmpleado.DataSource = wu.Empleado.ObtenerListaEmpleados();
                cmbEmpleado.DataBind();
                hfIdSalidaMaterial["IdSalidaMaterial"] = NumeroSalidaMaterial;
                if (int.Parse(NumeroSalidaMaterial) > 0)
                {
                    int?[] estateBad = { 36, 47, 67 };

                    SalidaMaterial cot = new SalidaMaterial();
                    using (var bd = new UnidadDeTrabajo())
                    {
                        cot = bd.SalidaMaterial.ObtenerPorId(int.Parse(NumeroSalidaMaterial));
                        cmbTipoSalida.Value = cot.TipoSalidaMaterial;
                        if (cot.TipoSalidaMaterial == "PrestamoMateriales")
                        {
                            if (cot.IdClienteNatural > 0)
                            {
                                Cliente cliente = bd.Cliente.ObtenerPorId(cot.IdClienteNatural);
                                txtApelNomRazSoc.Text = cliente.Persona.ApellidoPaterno + " " + cliente.Persona.ApellidoMaterno + ", " + cliente.Persona.Nombres;
                                txtRucDni.Text        = cliente.Persona.DNI;
                                hfRucDni["rucDni"]    = cliente.Persona.DNI;
                                rbOpciones.Value      = 1;
                                lblApelNomRazSoc.Text = "Apell. Nombres:";
                                lblRucDni.Text        = "DNI:";
                            }
                            else
                            {
                                Empresa empresa = bd.Empresa.ObtenerPorId(cot.IdClienteJuridico);
                                txtApelNomRazSoc.Text = empresa.Persona.RazonSocial;
                                txtRucDni.Text        = empresa.Persona.Ruc;
                                hfRucDni["rucDni"]    = empresa.Persona.Ruc;
                                rbOpciones.Value      = 2;
                                lblApelNomRazSoc.Text = "Razón Social:";
                                lblRucDni.Text        = "RUC:";
                            }
                        }
                        else
                        {
                            cmbOrdenesTrabajo.Value = cot.IdOrdenTrabajo;
                            cmbEmpleado.Value       = cot.IdEmpleado;
                        }
                        hfOt["IdOt"] = cot.IdOrdenTrabajo;
                        cmbOrdenesTrabajo.ReadOnly = true;
                        if (estateBad.Contains(cot.IdEstado))
                        {
                            dgSalidaMaterialDetalle.SettingsEditing.Mode = DevExpress.Web.GridViewEditingMode.Inline;
                            dgSalidaMaterialDetalle.Columns[0].Visible   = false;
                        }
                        dgSalidaMaterialDetalle.DataSource = bd.SalidaMaterialesDetalle.ObtenerDetalleSalidaMateriales(int.Parse(NumeroSalidaMaterial));
                        dgSalidaMaterialDetalle.DataBind();
                    }

                    txtApelNomRazSoc.ClientEnabled = false;
                    txtRucDni.ClientEnabled        = false;
                    rbOpciones.ClientEnabled       = false;
                }
                pcEditorSalidaMateriales.ShowOnPageLoad = true;
            }
            using (var ut = new UnidadDeTrabajo())
            {
                if (Session["IdUserActive"] != null)
                {
                    if (ut.ComprobarSoloLectura(int.Parse(Session["IdUserActive"].ToString()), 27) == true)
                    {
                        btnBuscarPersonas.ClientEnabled              = false;
                        addSalidaMateriales.ClientEnabled            = false;
                        dgSalidaMaterialDetalle.SettingsEditing.Mode = DevExpress.Web.GridViewEditingMode.Inline;
                        dgSalidaMaterialDetalle.Columns[0].Visible   = false;
                    }
                }
            }
        }