protected void Desplegar_SOLICITUD_DESTINOS() { //*ini* lrojas:31/08/2016 Si tiene retorno P_IdSolicitud!="" se agrego filas y debe reordenarse "Cont". DB_VT_Solicitud lista = new DB_VT_Solicitud(); if (P_IdSolicitud != string.Empty) { DataTable DT_Sol_Des = new DataTable(); List <VT_SolicitudDestino> ColSD = new List <VT_SolicitudDestino>(); DT_Sol_Des = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text); foreach (DataRow r in DT_Sol_Des.Rows) { //if (r["Tramo"].ToString() == "Salida") //{ VT_SolicitudDestino ObjSD = new VT_SolicitudDestino(); ObjSD.Tramo = r["Tramo"].ToString(); ObjSD.Zona = r["Zona"].ToString(); ObjSD.Destino = r["Destino"].ToString(); ObjSD.Lugar = r["Lugar"].ToString(); ObjSD.Objetivo = r["Objetivo"].ToString(); ObjSD.Fecha_Salida = Convert.ToDateTime(r["Fecha_Salida"].ToString()); ObjSD.Via_Transporte = r["Via_Transporte"].ToString(); ObjSD.Tipo_Transporte = r["Tipo_Transporte"].ToString(); ObjSD.Nombre_Transporte = r["Nombre_Transporte"].ToString(); ObjSD.Identificador_Trasporte = r["Identificador_Trasporte"].ToString(); ObjSD.Cont = Convert.ToInt32(r["Cont"].ToString()); ColSD.Add(ObjSD); //} } List <VT_SolicitudDestino> ColSDSalidas = new List <VT_SolicitudDestino>(); List <VT_SolicitudDestino> ColSDRetorno = new List <VT_SolicitudDestino>(); List <VT_SolicitudDestino> ColSDFinal = new List <VT_SolicitudDestino>(); ColSDSalidas = ColSD.Where(x => x.Tramo == "Salida").ToList().OrderBy(ord => ord.Fecha_Salida).ToList(); ColSDRetorno = ColSD.Where(x => x.Tramo == "Retorno").ToList().OrderBy(ord => ord.Fecha_Salida).ToList(); foreach (VT_SolicitudDestino ObjSD_Salidas in ColSDSalidas) { ColSDFinal.Add(ObjSD_Salidas); } foreach (VT_SolicitudDestino ObjSD_Retorno in ColSDRetorno) { ColSDFinal.Add(ObjSD_Retorno); } GVSolicitud.DataSource = ColSDFinal; //ColSD.OrderBy(x => x.Fecha_Salida).ToList(); GVSolicitud.DataBind(); int numero = lista.DB_Numero_Filas_SOLICITUD(LblIdSolicitud.Text);// se modifico query con 'cont>0' int Aux_Cont = 1; foreach (GridViewRow dgi in GVSolicitud.Rows) { //int Cont = Convert.ToInt32(GVSolicitud.Rows[dgi.RowIndex].Cells[0].Text); int Cont = Convert.ToInt32(GVSolicitud.DataKeys[dgi.RowIndex].Values[0]); if (Cont > 0) { VT_SolicitudDestino ObjSD = new VT_SolicitudDestino(); DropDownList ddlZona = (DropDownList)dgi.Cells[3].Controls[1]; DropDownList ddlDestino = (DropDownList)dgi.Cells[4].Controls[1]; TextBox txLugar = (TextBox)dgi.Cells[5].Controls[1]; TextBox tx1Objetivo = (TextBox)dgi.Cells[6].Controls[1]; TextBox tx2 = (TextBox)dgi.Cells[7].Controls[1]; DropDownList ddlH = (DropDownList)dgi.Cells[8].Controls[1]; DropDownList ddlM = (DropDownList)dgi.Cells[9].Controls[1]; //TextBox tx2A = (TextBox)dgi.Cells[7].Controls[1]; DropDownList ddlVia_Transporte = (DropDownList)dgi.Cells[10].Controls[1]; DropDownList ddlTipo_Transporte = (DropDownList)dgi.Cells[11].Controls[1]; TextBox txNombre_Transporte = (TextBox)dgi.Cells[12].Controls[1]; TextBox txIdentificador_Trasporte = (TextBox)dgi.Cells[13].Controls[1]; ObjSD.Id_Solicitud = LblIdSolicitud.Text; ObjSD.Cont = Convert.ToInt32(GVSolicitud.DataKeys[dgi.RowIndex].Values[0]); ObjSD.Tramo = dgi.Cells[1].Text; ObjSD.Zona = ddlZona.SelectedValue; ObjSD.Destino = ddlDestino.SelectedValue; ObjSD.Lugar = txLugar.Text; ObjSD.Objetivo = tx1Objetivo.Text; ObjSD.Fecha_Salida = Convert.ToDateTime(tx2.Text + " " + ddlH.SelectedValue + ":" + ddlM.SelectedValue); ObjSD.Via_Transporte = ddlVia_Transporte.SelectedValue; ObjSD.Tipo_Transporte = ddlTipo_Transporte.SelectedValue; ObjSD.Nombre_Transporte = txNombre_Transporte.Text; ObjSD.Identificador_Trasporte = txIdentificador_Trasporte.Text; lista.DB_Modificar_SOLICITUD_DESTINO_CONT(ObjSD, ObjSD.Cont); if (Aux_Cont != numero) { Aux_Cont++; } } } } GVSolicitud.DataSource = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text); GVSolicitud.DataBind(); }
protected void Cargar_PLANILLA(string idUser, string idSolicitud) { string lugar = ""; DB_VT_Planilla regP = new DB_VT_Planilla(); VT_Planilla p = new VT_Planilla(); VT_PlanillaDia pd = new VT_PlanillaDia(); VT_SolicitudDestino sd1 = new VT_SolicitudDestino(); VT_SolicitudDestino sd2 = new VT_SolicitudDestino(); DB_VT_Solicitud s1 = new DB_VT_Solicitud(); DB_AP_Registro_Org aux = new DB_AP_Registro_Org(); DataTable dt = new DataTable(); DataTable dt1 = new DataTable(); DataTable dt2 = new DataTable(); int numero = s1.DB_Numero_Filas_SOLICITUD(idSolicitud);// se modifico query con 'cont>0' decimal contdias = Convert.ToDecimal("0"); p.Id_Solicitud = idSolicitud; p.Tot_Num_Dias = 0; p.Tot_Num_Dias15 = 0; p.Pago_Total = 0; p.Pago_Total15 = 0; p.Rc_Iva = 13; /*********************************************************** OJO AQUI HAY QUE PONER LOS PARAMETROS DE GESTION ******/ p.Liquido_Pagable = 0; p.Num_Cheque = "0"; p.Tasa_Cambio = 0; p.Fecha = DateTime.Now; p.Fecha_Atendido = DateTime.Now; p.MontoPorDia = 1; regP.DB_Registrar_PLANILLA(p); int idplani = Convert.ToInt32(aux.DB_MaxId("VIAT_PLANILLA", "Id_Planilla")); /**************************************************************/ DB_VT_Solicitud sol = new DB_VT_Solicitud(); dt = sol.DB_Seleccionar_SOLICITUD(idSolicitud); /************************************************************/ DB_AdminUser us = new DB_AdminUser(); dt1 = us.DB_Desplegar_USUARIO(idUser); /******************************************************/ DB_VT_Categoria cat = new DB_VT_Categoria(); string aux1 = dt1.Rows[0][11].ToString(); string aux2 = dt.Rows[0][3].ToString(); dt2 = cat.DB_Seleccionar_CATEGORIA(Convert.ToInt32(dt1.Rows[0][11].ToString()), dt.Rows[0][3].ToString()); /***************************************************************/ //DB_VT_Solicitud sol = new DB_VT_Solicitud(); int contador = 1; int auxiliar = 0; for (int i = 1; i <= (numero); i++) { sd1 = s1.DB_Seleccionar_SOLICITUD_DESTINO(idSolicitud, i); sd2 = s1.DB_Seleccionar_SOLICITUD_DESTINO(idSolicitud, (i + 1)); int dias = sol.DB_NumDHM(Convert.ToDateTime(sd1.Fecha_Salida.ToString()), Convert.ToDateTime(sd2.Fecha_Salida.ToString()), "DD"); if (sd1.Fecha_Salida.ToString("dd/MM/yyyy") == sd2.Fecha_Salida.ToString("dd/MM/yyyy")) { if (numero == 2) { contdias = Convert.ToDecimal("0.5"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "SIN PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida; regP.DB_Registrar_PLANILLADIA(pd); contador++; break; } else { pd.Destino = sd1.Destino + " " + sd1.Lugar; } } else { if (sd1.Tramo == "Salida") { contdias = s1.DB_NumDHM(sd1.Fecha_Salida, sd2.Fecha_Salida, "DD"); for (int j = 0; j < contdias; j++) { pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = 1; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = 1 * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = 1 * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "CON PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida.AddDays(j); regP.DB_Registrar_PLANILLADIA(pd); auxiliar = j; contador++; } } else { contdias = s1.DB_NumDHM(Convert.ToDateTime(sd1.Fecha_Salida.ToString("dd/MM/yyyy") + " " + "08:00:00"), sd1.Fecha_Salida, "HH"); if (contdias > 4) /*************************************** OJO aqui calculamos por hora mayor a 4 horas se contabiliza como medio dia*/ { contdias = Convert.ToDecimal("0.5"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "SIN PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida.AddDays(0); regP.DB_Registrar_PLANILLADIA(pd); contador++; } else { contdias = Convert.ToDecimal("0.0"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "No se cumplió el periodo de 4 horas que se considera como medio día de viatico"; pd.FechaDia = sd1.Fecha_Salida.AddDays(0); regP.DB_Registrar_PLANILLADIA(pd); contador++; } } } } }
// lrojas:25/08/2016(1) ; 30/08/2016(2) protected void GVSolicitud_RowCommand(object sender, GridViewCommandEventArgs e) { try { string tipo = Convert.ToString(e.CommandName); int rowIndex = Convert.ToInt32(e.CommandArgument); string IdSolicitud = LblIdSolicitud.Text; //Session.Add("IdSolicitud", GVSolicitud.Rows[rowIndex].Cells[0].Text); DB_VT_Solicitud DB_Sol = new DB_VT_Solicitud(); VT_SolicitudDestino Obj_SD = new VT_SolicitudDestino(); switch (tipo) { case "Delete": string NroReg = Convert.ToString(GVSolicitud.DataKeys[rowIndex].Values[0]); DateTime fechaDelete = DateTime.Now; DB_Sol.DB_DELETE_SOLICITUD_DESTINO(IdSolicitud, NroReg, fechaDelete); DB_VT_Solicitud lista = new DB_VT_Solicitud(); VT_SolicitudDestino ObjSD = new VT_SolicitudDestino(); GVSolicitud.DataSource = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text); GVSolicitud.DataBind(); int numero = lista.DB_Numero_Filas_SOLICITUD(LblIdSolicitud.Text); // se modifico query con 'cont>0' int Aux_Cont = 1; foreach (GridViewRow dgi in GVSolicitud.Rows) { int Cont = Convert.ToInt32(GVSolicitud.DataKeys[rowIndex].Values[0]); if (Cont > 0) { DropDownList ddlZona = (DropDownList)dgi.Cells[3].Controls[1]; DropDownList ddlDestino = (DropDownList)dgi.Cells[4].Controls[1]; TextBox txLugar = (TextBox)dgi.Cells[5].Controls[1]; TextBox tx1Objetivo = (TextBox)dgi.Cells[6].Controls[1]; TextBox tx2 = (TextBox)dgi.Cells[7].Controls[1]; DropDownList ddlHora = (DropDownList)dgi.Cells[8].Controls[1]; DropDownList ddlMin = (DropDownList)dgi.Cells[9].Controls[1]; DropDownList ddlVia_Transporte = (DropDownList)dgi.Cells[10].Controls[1]; DropDownList ddlTipo_Transporte = (DropDownList)dgi.Cells[11].Controls[1]; TextBox txNombre_Transporte = (TextBox)dgi.Cells[12].Controls[1]; TextBox txIdentificador_Trasporte = (TextBox)dgi.Cells[13].Controls[1]; ObjSD.Id_Solicitud = LblIdSolicitud.Text; ObjSD.Cont = Convert.ToInt32(GVSolicitud.DataKeys[rowIndex].Values[0]); ObjSD.Tramo = GVSolicitud.Rows[dgi.RowIndex].Cells[2].Text; ObjSD.Zona = ddlZona.SelectedValue; ObjSD.Destino = ddlDestino.SelectedValue; ObjSD.Lugar = txLugar.Text; ObjSD.Objetivo = tx1Objetivo.Text; ObjSD.Fecha_Salida = Convert.ToDateTime(tx2.Text + " " + ddlHora.SelectedValue + ":" + ddlMin.SelectedValue); ObjSD.Via_Transporte = ddlVia_Transporte.SelectedValue; ObjSD.Tipo_Transporte = ddlTipo_Transporte.SelectedValue; ObjSD.Nombre_Transporte = txNombre_Transporte.Text; ObjSD.Identificador_Trasporte = txIdentificador_Trasporte.Text; lista.DB_Modificar_SOLICITUD_DESTINO_CONT(ObjSD, Aux_Cont); if (Aux_Cont != numero) { Aux_Cont++; } } } break; } GVSolicitud.DataSource = DB_Sol.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text); GVSolicitud.DataBind(); } catch (Exception ex) { string script = @"<script type='text/javascript'>alert('{0}');</script>"; script = string.Format(script, ex.Message); ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false); } }