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; } }
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); }