示例#1
0
        private void saveSalida()
        {
            try
            {
                int numero;
                Salida_orden_carga oSOC = new Salida_orden_carga();
                oSOC.Id = Convert.ToInt32(hf_id_salida_orden_carga.Value);
                List <Salida> lstSalidas = new List <Salida>();

                int.TryParse(ddlCliente.SelectedValue, out numero);

                List <Salida_orden_carga_tc> lstSalTranCond = JsonConvert.DeserializeObject <List <Salida_orden_carga_tc> >(hf_condiciones_transporte.Value);
                numero = TransporteCtrl.TransCondCliGetNumCond(numero, false, true);
                if (lstSalTranCond.Count != numero)
                {
                    throw new Exception("Es necesario proporcionar TODAS LAS CONDICIONES del transporte.");
                }

                oSOC.PLstSalOCTransCond       = lstSalTranCond;
                oSOC.Observaciones_tranpsorte = txt_comentarios.Text.Trim();

                Salida oS = getFormValues();
                List <Salida_compartida> lstSalComp = new List <Salida_compartida>();
                bool cumpleCondTran = lstSalTranCond.Count(p => p.Si_no == false) == 0;

                numero = 0;
                for (int iRow = 0; iRow < grd_rem.Rows.Count; iRow++)
                {
                    GridViewRow row = grd_rem.Rows[iRow];
                    Salida      o   = new Salida();
                    o                  = (Salida)oS.Clone();
                    o.Referencia       = row.Cells[0].Text;
                    o.PLstSalTransCond = new List <Salida_transporte_condicion>();
                    HiddenField hfJsonDoc = row.FindControl("hf_JsonDocumentos") as HiddenField;
                    o.PLstSalDoc = JsonConvert.DeserializeObject <List <Salida_documento> >(hfJsonDoc.Value);
                    if (o.PLstSalDoc == null)
                    {
                        o.PLstSalDoc = new List <Salida_documento>();
                    }

                    //Numero de pallet
                    //TextBox txt_no_pallet = row.FindControl("txt_no_pallet") as TextBox;
                    int.TryParse(CommonFunctions.NumbersOnly(row.Cells[2].Text), out numero);
                    o.No_pallet = numero;
                    numero      = 0;

                    //Numero de bulto
                    int.TryParse(CommonFunctions.NumbersOnly(row.Cells[3].Text), out numero);
                    o.No_bulto = numero;
                    numero     = 0;

                    //Numero de pieza
                    int.TryParse(CommonFunctions.NumbersOnly(row.Cells[4].Text), out numero);
                    o.No_pieza = numero;
                    numero     = 0;

                    //Mercancia
                    TextBox txt_mercancia = row.FindControl("txt_mercancia") as TextBox;
                    o.Mercancia = txt_mercancia.Text;

                    //observaciones
                    //Mercancia
                    TextBox txt_observaciones = row.FindControl("txt_observaciones") as TextBox;
                    o.Observaciones = txt_observaciones.Text.Trim();

                    //Forma (única o parcial)
                    HiddenField    hf_forma = row.FindControl("hf_forma") as HiddenField;
                    Salida_parcial oSP      = new Salida_parcial();
                    switch (Convert.ToInt32(hf_forma.Value))
                    {
                    case 0:
                        o.Es_unica = true;
                        break;

                    case 1:
                        oSP.Referencia = o.Referencia;
                        oSP.Es_ultima  = false;
                        oSP.Id_usuario = o.PUsuario.Id;
                        o.PSalPar      = oSP;
                        o.Es_unica     = false;
                        break;

                    case -1:
                        oSP.Referencia = o.Referencia;
                        oSP.Es_ultima  = true;
                        oSP.Id_usuario = o.PUsuario.Id;
                        o.PSalPar      = oSP;
                        o.Es_unica     = false;
                        break;
                    }

                    //Compartida
                    Salida_compartida oSC = new Salida_compartida();
                    oSC.Id_usuario = o.PUsuario.Id;
                    oSC.Capturada  = false;
                    oSC.Referencia = o.Referencia;
                    lstSalComp.Add(oSC);
                    lstSalidas.Add(o);
                }

                if (lstSalComp.Count > 1)
                {
                    foreach (Salida itemS in lstSalidas)
                    {
                        itemS.PLstSalComp = lstSalComp.FindAll(p => string.Compare(p.Referencia, itemS.Referencia) != 0);
                    }
                }

                oSOC.LstSalida = lstSalidas;
                if (cumpleCondTran)
                {
                    SalidaCtrl.salidaAddFromLst(oSOC);
                    Response.Redirect("frmEmbarqueOC.aspx?_kp=" + hf_id_salida_orden_carga.Value);
                }
                else
                {
                    Salida oSTmp = oSOC.LstSalida.First();
                    oSTmp.PCliente = CatalogCtrl.Cliente_GetById(oSTmp.Id_cliente);
                    if (oSTmp.PLstSalComp == null)
                    {
                        oSTmp.PLstSalComp = new List <Salida_compartida>();
                    }

                    oSTmp.PTransporteTipo = CatalogCtrl.Transporte_tipo_getyById(oSTmp.Id_transporte_tipo);

                    SSalidaOC = oSOC;
                    Response.Redirect("frmEmbarqueOC.aspx?_octc=" + hf_id_salida_orden_carga.Value);
                }
            }
            catch
            {
                throw;
            }
        }
示例#2
0
        private Salida getSalidaFormValues()
        {
            Salida oS = new Salida();
            int    numero;
            double doble;

            //Usuario
            oS.PUsuario = ((MstCasc)this.Master).getUsrLoged();

            //Bodega
            int.TryParse(ddlBodega.SelectedValue, out numero);
            oS.Id_bodega = numero;
            numero       = 0;

            //Fecha
            oS.Fecha = DateTime.Today;

            //Hora
            oS.Hora_salida = txt_hora_salida.Text;

            //Cortina
            int.TryParse(ddlCortina.SelectedValue, out numero);
            oS.Id_cortina = numero;
            numero        = 0;

            //Cliente
            int.TryParse(ddlCliente.SelectedValue, out numero);
            oS.Id_cliente = numero;
            numero        = 0;

            //Referencia
            if (rfvReferencia.Enabled)
            {
                oS.Referencia = txt_referencia.Text;
            }
            else
            {
                oS.Referencia = string.Empty;
            }

            //Destino
            oS.Destino = txt_destino.Text;

            //Mercancia
            oS.Mercancia = txt_mercancia.Text;

            //Linea de Transporte
            int.TryParse(ddlTransporte.SelectedValue, out numero);
            oS.Id_transporte = numero;
            numero           = 0;

            //Tipo de transporte
            int.TryParse(ddlTipo_Transporte.SelectedValue, out numero);
            oS.Id_transporte_tipo = numero;
            numero = 0;

            //Placa
            oS.Placa = txt_placa.Text;

            //Caja
            oS.Caja = txt_caja.Text;

            //Caja1
            oS.Caja1 = txt_caja_1.Text;

            //Caja2
            oS.Caja2 = txt_caja_2.Text;

            //Sello
            oS.Sello = txt_sello.Text;

            //Talon
            oS.Talon = txt_talon.Text;

            //Custodia
            int.TryParse(ddlCustodia.SelectedValue, out numero);
            oS.Id_custodia = numero;
            numero         = 0;

            //Operador de la custodia
            oS.Operador = txt_operador.Text;

            //Numero de pallet
            int.TryParse(txt_no_pallet.Text, out numero);
            oS.No_pallet = numero;
            numero       = 0;

            //Numero de bulto
            int.TryParse(txt_no_bulto.Text, out numero);
            oS.No_bulto = numero;
            numero      = 0;

            //Numero de pieza
            int.TryParse(txt_no_pieza.Text, out numero);
            oS.No_pieza = numero;
            numero      = 0;

            //Peso unitario
            double.TryParse(txt_peso_unitario.Text, out doble);
            oS.Peso_unitario = doble;
            doble            = 0;

            //Total de carga
            double.TryParse(txt_total_carga.Text, out doble);
            oS.Total_carga = doble;
            doble          = 0;

            //Es consolidada
            oS.EsCompartida = Convert.ToBoolean(hfConsolidada.Value);

            //Es parcial
            oS.Es_unica = true;
            if (!chk_tipo_salida.Checked)
            {
                Salida_parcial oSP = new Salida_parcial();
                oSP.Referencia = oS.Referencia;
                oSP.Es_ultima  = chk_ultima.Checked;
                oSP.Id_usuario = oS.PUsuario.Id;
                oS.PSalPar     = oSP;
                oS.Es_unica    = false;
            }

            //Hora carga
            oS.Hora_carga = txt_hora_carga.Text;

            //Observaciones
            oS.Observaciones = txt_observaciones.Text;

            //Documentos asociados a la salida
            oS.PLstSalDoc = VSLstSD;

            //Se obtiene la descripcion de los tipos de documento
            DocumentoMng oDocMng = new DocumentoMng();

            foreach (Salida_documento itemSD in oS.PLstSalDoc)
            {
                Documento oDoc = new Documento();
                oDoc.Id             = itemSD.Id_documento;
                oDocMng.O_Documento = oDoc;
                oDocMng.selById();
                itemSD.PDocumento = oDoc;
            }

            //Salida compartida
            oS.PLstSalComp = new List <Salida_compartida>();
            foreach (ListItem liPC in lst_pedimentos_consolidados.Items)
            {
                Salida_compartida oSC = new Salida_compartida();
                oSC.Referencia = liPC.Value;
                oSC.Id_usuario = oS.PUsuario.Id;
                oS.PLstSalComp.Add(oSC);
            }

            //Vigilante
            oS.Vigilante = ddlVigilante.SelectedItem.Text.Trim();

            //Bodega
            Bodega oB = new Bodega();

            oB.Id = Convert.ToInt32(ddlBodega.SelectedValue);
            BodegaMng oBMng = new BodegaMng();

            oBMng.O_Bodega = oB;
            oBMng.selById();
            oS.PBodega = oB;

            //Cortina
            Cortina oCor = new Cortina();

            oCor.Id        = oS.Id_cortina;
            oCor.Nombre    = ddlCortina.SelectedItem.Text;
            oCor.Id_bodega = oS.Id_bodega;
            oS.PCortina    = oCor;

            //Cliente
            oS.PCliente = CatalogCtrl.Cliente_GetById(oS.Id_cliente);

            //Transporte
            Transporte oT = new Transporte();

            oT.Id          = oS.Id_transporte;
            oT.Nombre      = ddlTransporte.SelectedItem.Text;
            oS.PTransporte = oT;

            //Transporte tipo
            Transporte_tipo oTT = new Transporte_tipo();

            oTT.Id             = oS.Id_transporte_tipo;
            oTT.Nombre         = ddlTipo_Transporte.SelectedItem.Text;
            oS.PTransporteTipo = oTT;

            //Custodia
            Custodia oCdia = new Custodia();

            oCdia.Id     = oS.Id_custodia;
            oCdia.Nombre = ddlCustodia.SelectedItem.Text;
            oS.PCustodia = oCdia;

            return(oS);
        }