예제 #1
0
        protected void addServicio(object sender, CommandEventArgs args)
        {
            Control oC          = ((Control)sender).Parent;
            int     id_servicio = Convert.ToInt32(args.CommandArgument);

            Orden_trabajo_servicio oOTS = new Orden_trabajo_servicio();

            oOTS.Id_servicio = id_servicio;
            oOTS.PServ       = new Servicio()
            {
                Nombre = VSLstServ.Find(p => p.Id == id_servicio).Nombre
            };
            oOTS.Ref1 = txt_trafico.Text;
            DropDownList ddlEtiqueta_tipo = null;

            try
            {
                switch (args.CommandName)
                {
                case "precio":
                    GridView grd_pedidos = oC.Parent.FindControl("grd_pedidos") as GridView;
                    foreach (GridViewRow row in grd_pedidos.Rows)
                    {
                        CheckBox chk_pedido = row.Cells[4].FindControl("chk_pedido") as CheckBox;
                        if (chk_pedido.Checked)
                        {
                            oOTS = new Orden_trabajo_servicio();

                            oOTS.Id_servicio = id_servicio;
                            oOTS.PServ       = new Servicio()
                            {
                                Nombre = VSLstServ.Find(p => p.Id == id_servicio).Nombre
                            };
                            oOTS.Ref1 = txt_trafico.Text;

                            oOTS.Ref2    = row.Cells[1].Text;
                            oOTS.Parcial = Convert.ToInt32(row.Cells[3].Text);
                            oOTS.Piezas  = Convert.ToInt32(row.Cells[2].Text.Replace(",", ""));
                            DropDownList ddl_etiqueta_tipo = row.Cells[3].FindControl("ddl_etiqueta_tipo") as DropDownList;
                            oOTS.Id_etiqueta_tipo = Convert.ToInt32(ddl_etiqueta_tipo.SelectedValue);
                            oOTS.PEtiquetaTipo    = new Etiqueta_tipo()
                            {
                                Nombre = ddl_etiqueta_tipo.SelectedItem.Text
                            };
                            oOTS.Id = VSLstOTS.Count + 1;
                            VSLstOTS.Add(oOTS);
                            VSLstEntLiv.Remove(VSLstEntLiv.Find(p => p.Pedido == Convert.ToInt32(oOTS.Ref2)));
                        }
                    }
                    grd_pedidos.DataSource = VSLstEntLiv;
                    grd_pedidos.DataBind();
                    Panel  pnl_pedido     = grd_pedidos.Parent.FindControl("pnl_pedido") as Panel;
                    Button btn_add_pedido = pnl_pedido.FindControl("btn_add_pedido") as Button;
                    btn_add_pedido.Enabled = false;
                    break;

                case "nom":
                    Entrada oE = EntradaCtrl.EntradaByReferencia(txt_referencia.Text);
                    if (oE.Id < 1)
                    {
                        throw new Exception("El pedimento proporcionado no cuenta con una entrada");
                    }
                    TextBox txt_solicitud = oC.FindControl("txt_solicitud") as TextBox;
                    TextBox txt_sol_pieza = oC.FindControl("txt_sol_pieza") as TextBox;
                    oOTS.Ref2             = txt_solicitud.Text;
                    oOTS.Piezas           = Convert.ToInt32(txt_sol_pieza.Text);
                    ddlEtiqueta_tipo      = oC.FindControl("ddl_eti_tipo_uva") as DropDownList;
                    txt_solicitud.Text    = string.Empty;
                    txt_sol_pieza.Text    = string.Empty;
                    oOTS.Id_etiqueta_tipo = Convert.ToInt32(ddlEtiqueta_tipo.SelectedValue);
                    oOTS.PEtiquetaTipo    = new Etiqueta_tipo()
                    {
                        Nombre = ddlEtiqueta_tipo.SelectedItem.Text
                    };
                    oOTS.Id = VSLstOTS.Count + 1;
                    VSLstOTS.Add(oOTS);
                    break;

                default:
                    break;
                }

                grd_ordenesXGuardar.DataSource = VSLstOTS;
                grd_ordenesXGuardar.DataBind();
            }
            catch (Exception e)
            {
                ((MstCasc)this.Master).setError = e.Message;
            }
        }