Example #1
0
        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);
            }
        }
Example #2
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;
            }
        }
Example #3
0
        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;
        }