예제 #1
0
        public async Task <IActionResult> PutHoraTrabajada([FromRoute] int id, [FromBody] HoraTrabajada horaTrabajada)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != horaTrabajada.ProyectoIdProyecto)
            {
                return(BadRequest());
            }

            _context.Entry(horaTrabajada).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HoraTrabajadaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        private void getDetalles()
        {
            HoraTrabajada horasTrabajadas = null;

            HttpResponseMessage response = HttpUtils.getHorasTrabajadas(Settings.Default.Client, "/horatrabajadas/porProy/", IdProyecto);

            string stringCR = response.Content.ReadAsStringAsync().Result;

            horasTrabajadas = JsonConvert.DeserializeObject <HoraTrabajada>(stringCR);

            if (response.IsSuccessStatusCode)
            {
                var detalle = (from t in horasTrabajadas.SumaPorPerfil
                               select new
                {
                    t.DescripcionPerfil,
                    t.IdPerfil,
                    t.HorasEstimadas,
                    t.HorasTotales,
                    HorasRestantes = t.HorasEstimadas - t.HorasTotales,
                    t.ValorHora,
                    t.EstadoHorasTrab
                }).Distinct().ToList();

                this.mgDetalle.Columns["ValorH"].DefaultCellStyle.Format = "c";
                mgDetalle.DataSource = detalle;


                tbHorasAdeudadas.Text = detalle.Sum(x => x.EstadoHorasTrab == "Adeudadas" ? x.HorasTotales : 0).ToString();
            }
        }
        private void getHorasTrabajadas()
        {
            HoraTrabajada horasTrabajadas = null;

            HttpResponseMessage response = HttpUtils.getHorasTrabajadas(Settings.Default.Client, "/horatrabajadas/porProy/", IdProyecto);

            string stringCR = response.Content.ReadAsStringAsync().Result;

            horasTrabajadas = JsonConvert.DeserializeObject <HoraTrabajada>(stringCR);

            if (response.IsSuccessStatusCode)
            {
                mgPorPerfil.DataSource = horasTrabajadas.SumaPorPerfil;
                this.mgPorPerfil.Columns["ValorHora"].DefaultCellStyle.Format = "c";

                ComboBoxPerfiles.DataSource = (from t in horasTrabajadas.SumaPorPerfil
                                               select new { t.DescripcionPerfil, t.IdPerfil }).Distinct().ToList();
                ComboBoxPerfiles.ValueMember   = "IdPerfil";
                ComboBoxPerfiles.DisplayMember = "DescripcionPerfil";

                if (horasTrabajadas.SumaPorPerfil.Count > 0)
                {
                    hayDatos = true;
                }
            }
        }
 public void CrearHoraTrabajada(HoraTrabajada horaTrabajada)
 {
     using (var scope = _scopeFactory.CreateScope())
     {
         var dbContext = scope.ServiceProvider.GetRequiredService <TpSeminarioContext>();
         dbContext.HoraTrabajada.Add(horaTrabajada);
         dbContext.SaveChanges();
     }
 }
예제 #5
0
        private void InformeOverbudgetForm_Load(object sender, EventArgs e)
        {
            HoraTrabajada horasTrabajadas = null;

            string fechaInicio = DateTime.Today.AddDays(-7).ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
            string fechaFin    = DateTime.Today.ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");

            HttpResponseMessage response = HttpUtils.getHorasTrabajadasFecha(Settings.Default.Client, "/horatrabajadas/overbudget/", this.IdProyecto, fechaInicio, fechaFin);

            string stringCR = response.Content.ReadAsStringAsync().Result;

            horasTrabajadas = JsonConvert.DeserializeObject <HoraTrabajada>(stringCR);

            if (response.IsSuccessStatusCode)
            {
                var lista = horasTrabajadas.SumaPorPerfil;
                foreach (SumaPerfiles i in lista)
                {
                    i.HorasPerfil = i.HorasPerfil - 8;
                }

                List <FechaReporteOverbudget> fechaReporte = new List <FechaReporteOverbudget>();
                fechaReporte.Add(new FechaReporteOverbudget()
                {
                    FechaInicio = DateTime.Today.AddDays(-7).ToString("dd-MM-yyyy"), FechaFin = DateTime.Today.ToString("dd-MM-yyyy")
                });

                var reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                var reportDataSource2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                reportDataSource1.Name  = "DataSet1";
                reportDataSource2.Name  = "DataSet2";
                reportDataSource1.Value = lista;
                reportDataSource2.Value = fechaReporte;
                this.reportViewerHorasOverbudget.LocalReport.DataSources.Add(reportDataSource1);
                this.reportViewerHorasOverbudget.LocalReport.DataSources.Add(reportDataSource2);
                this.reportViewerHorasOverbudget.LocalReport.ReportEmbeddedResource = "gpro_desktop_windows.Reportes.ReporteHorasOverbudget.rdlc";
                this.reportViewerHorasOverbudget.RefreshReport();
            }
        }
예제 #6
0
        private void getHorasTrabajadas()
        {
            HoraTrabajada horasTrabajadas = null;

            string payload = IdPerfilEmpl + "/" + IdProyecto;

            HttpResponseMessage response = HttpUtils.getHorasTrabajadas(Settings.Default.Client, "/horatrabajadas/empleado/", payload);

            string stringCR = response.Content.ReadAsStringAsync().Result;

            horasTrabajadas = JsonConvert.DeserializeObject <HoraTrabajada>(stringCR);

            if (response.IsSuccessStatusCode)
            {
                mgHorasTrab.DataSource = horasTrabajadas.SumaPorPerfil;
                this.mgHorasTrab.Columns["ValorHora"].DefaultCellStyle.Format = "c";

                if (horasTrabajadas.SumaPorPerfil.Count > 0)
                {
                    hayDatos = true;
                }
            }
        }
        private void getHorasOverbudget()
        {
            HoraTrabajada horasTrabajadas = null;

            string fechaInicio = DateTime.Today.AddDays(-7).ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
            string fechaFin    = DateTime.Today.ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");

            HttpResponseMessage response = HttpUtils.getHorasTrabajadasFecha(Settings.Default.Client, "/horatrabajadas/overbudget/", this.IdProyecto, fechaInicio, fechaFin);

            string stringCR = response.Content.ReadAsStringAsync().Result;

            horasTrabajadas = JsonConvert.DeserializeObject <HoraTrabajada>(stringCR);

            if (response.IsSuccessStatusCode)
            {
                var lista = horasTrabajadas.SumaPorPerfil;
                foreach (SumaPerfiles i in lista)
                {
                    i.HorasPerfil = i.HorasPerfil - 8;
                }
                foreach (SumaPerfiles v in lista)
                {
                    v.ValorHora = v.ValorHora + (v.ValorHora * 50 / 100);
                }

                mgHorasOverbudget.DataSource = lista;
                this.mgHorasOverbudget.Columns["ValorHora"].DefaultCellStyle.Format = "c";

                if (horasTrabajadas.SumaPorPerfil.Count() > 0)
                {
                    hayDatos        = true;
                    fechaDesde.Text = DateTime.Today.AddDays(-7).ToString("dd-MM-yyyy");
                    fechaHasta.Text = DateTime.Today.ToString("dd-MM-yyyy");
                }
            }
        }
예제 #8
0
 public IActionResult CrearHoraTrabajada([FromBody] HoraTrabajada horaTrabajada)
 {
     _horaTrabajadaService.CrearHoraTrabajada(horaTrabajada);
     return(Ok("Hora trabajada creada correctamente"));
 }