protected void gridResumen_ItemCommand(object sender, C1GridViewCommandEventArgs e) { if (e.CommandName == "Modificar") { var id = Convert.ToInt32(gridResumen.DataKeys[e.Row.RowIndex].Value); var doc = DAOFactory.DocumentoDAO.FindById(id); ParteSaveStrategy.SetValor(doc, ParteCampos.EstadoControl, 1, "0"); DAOFactory.DocumentoDAO.SaveOrUpdate(doc); var selectedEquipos = new List <int> { Convert.ToInt32(doc.Valores[ParteCampos.Equipo]) }; var selectedTipos = new List <int> { doc.Valores.ContainsKey(ParteCampos.TipoServicio) ? Convert.ToInt32(doc.Valores[ParteCampos.TipoServicio]) : 0 }; var listPartes = GetPartes(selectedEquipos, selectedTipos); IdPartes = listPartes.OfType <Documento>().Select(d => d.Id).ToList(); SetViewIndex(1); lblCount.Text = listPartes.Count.ToString(); LoadParte(0); } }
protected void btAceptarParte_Click(object sender, EventArgs e) { try { var turnos = DatosParte1.Turnos; var parte = DAOFactory.DocumentoDAO.FindById(IdPartes[IndexParte]); var recalcularKm = hidChanged.Value == "true"; if (recalcularKm) { DatosParte1.RecalcularKm(DAOFactory); hidChanged.Value = "false"; return; } for (var i = 0; i < turnos.Count; i++) { var turno = turnos[i]; ParteSaveStrategy.SetValor(parte, ParteCampos.SalidaAlPozoControl, i, turno.AlPozoSalida.ToString(CultureInfo.InvariantCulture)); ParteSaveStrategy.SetValor(parte, ParteCampos.LlegadaAlPozoControl, i, turno.AlPozoLlegada.ToString(CultureInfo.InvariantCulture)); ParteSaveStrategy.SetValor(parte, ParteCampos.SalidaDelPozoControl, i, turno.DelPozoSalida.ToString(CultureInfo.InvariantCulture)); ParteSaveStrategy.SetValor(parte, ParteCampos.LlegadaDelPozoControl, i, turno.DelPozoLlegada.ToString(CultureInfo.InvariantCulture)); ParteSaveStrategy.SetValor(parte, ParteCampos.KilometrajeControl, i, turno.Km.ToString(CultureInfo.InvariantCulture)); ParteSaveStrategy.SetValor(parte, ParteCampos.KilometrajeGps, i, turno.KmGps.ToString()); } ParteSaveStrategy.SetValor(parte, ParteCampos.EstadoControl, 1, "1"); ParteSaveStrategy.SetValor(parte, ParteCampos.UsuarioControl, 1, Usuario.Id.ToString()); DAOFactory.DocumentoDAO.SaveOrUpdate(parte); if (!LoadNextParte()) { VerificarPartes(); } } catch (Exception ex) { infoLabel1.Text = ex.Message; } }
protected void btGuardar_Click(object sender, EventArgs e) { var transaction = SessionHelper.Current.BeginTransaction(); var faltan = false; foreach (C1GridViewRow row in gridResumen.Rows) { // Si el item esta tildado pongo el estado del parte es Verificado var chkVerificar = row.FindControl("chkVerificar") as CheckBox; if (chkVerificar != null && chkVerificar.Checked) { var id = Convert.ToInt32(gridResumen.DataKeys[row.RowIndex].Value); var doc = DAOFactory.DocumentoDAO.FindById(id); ParteSaveStrategy.SetValor(doc, ParteCampos.EstadoControl, 1, PartePersonal.Verificado.ToString()); DAOFactory.DocumentoDAO.SaveOrUpdate(doc); } else { faltan = true; } } // Si todos los partes de este periodo estan verificados... if (!faltan) { // Obtengo el DetallePeriodo para el Transportista o lo creo si no existe var periodo = DAOFactory.PeriodoDAO.FindById(IdPeriodo); var detalle = (from DetallePeriodo det in periodo.Detalles where det.Transportista.Id == IdTransportista select det).ToList(); DetallePeriodo detPeriodo; if (detalle.Count == 0) { detPeriodo = new DetallePeriodo { Periodo = periodo, Transportista = DAOFactory.TransportistaDAO.FindById(IdTransportista) }; periodo.Detalles.Add(detPeriodo); } else { detPeriodo = detalle[0]; } // Seteo el estado del DetallePeriodo a Liquidado detPeriodo.Estado = Periodo.Liquidado; // Busco los partes que no esten verificados (excepto los de este Transportista) var controlados = DAOFactory.DocumentoDAO.FindPartesControlados(IdTransportista, periodo.FechaDesde, periodo.FechaHasta); var partes = from Documento doc in controlados where Convert.ToInt32(doc.Valores[ParteCampos.Empresa]) != IdTransportista select doc; if (!partes.Any()) { // Si no quedaron partes sin verificar cierro el periodo completo periodo.Estado = Periodo.Liquidado; } DAOFactory.PeriodoDAO.SaveOrUpdate(periodo); } transaction.Commit(); BindPeriodos(); gridResumen.DataSource = null; gridResumen.DataBind(); btGuardar.Visible = false; panelResultado.Visible = false; }