protected void btn_ver_ServerClick(object sender, EventArgs e) { Usuario usuariologueado = Session["UsuarioLogueado"] as Usuario; string str_id_dia = ((System.Web.UI.HtmlControls.HtmlButton)sender).Attributes["data-id"]; Dia dia; List<fila_detalle_dia> detalle = new List<fila_detalle_dia>(); div_error_detalle.Visible = false; bool soldador = false; using (var cxt = new Model1Container()) { if (str_id_dia.Contains("id")) { int id_dia = Convert.ToInt32(str_id_dia.Replace("id_", "")); dia = cxt.Dias.FirstOrDefault(d => d.id_dia == id_dia); soldador = dia.Empleado.Categoria.nombre == "Soldador"; foreach (Detalle_dia item_detalle in dia.Detalles) { fila_detalle_dia fila_detalle = new fila_detalle_dia(); fila_detalle.id_equipo = item_detalle.Equipo.id_equipo; fila_detalle._out = item_detalle.Equipo.OUT; fila_detalle.fecha = item_detalle.Dia.fecha; fila_detalle.id_dia = item_detalle.id_dia; fila_detalle.id_detalle_dia = item_detalle.id_detalle_dia; fila_detalle.equipo = item_detalle.Equipo.nombre; fila_detalle.desde = item_detalle.hora_desde; fila_detalle.hasta = item_detalle.hora_hasta; fila_detalle.total_movimiento = Horas_string.RestarHoras(item_detalle.hora_hasta, item_detalle.hora_desde); detalle.Add(fila_detalle); } } else { int fecha_dia = Convert.ToInt32(str_id_dia.Replace("fecha_", "").Split('_')[2]); int fecha_mes = Convert.ToInt32(str_id_dia.Replace("fecha_", "").Split('_')[1]); int fecha_año = Convert.ToInt32(str_id_dia.Replace("fecha_", "").Split('_')[0]); dia = new Dia(); dia.fecha = new DateTime(fecha_año, fecha_mes, fecha_dia); dia.horas_normales = "00:00"; dia.horas_extra_50 = "00:00"; dia.horas_extra_100 = "00:00"; dia.ausente = "00:00"; dia.guardia = "00:00"; dia.varios_taller = "00:00"; dia.estado_tm = Estado_turno_dia.Ninguno; dia.estado_tt = Estado_turno_dia.Ninguno; dia.id_empleado = Convert.ToInt32(ddl_empleado.SelectedValue); cxt.Dias.Add(dia); } } if (soldador) { QuitarColumnaOUT(); } if (usuariologueado.perfil == perfil_usuario.Jefe) { gv_detalle_dia_view.DataSource = detalle; gv_detalle_dia_view.DataBind(); } else { gv_detalle_dia.DataSource = detalle; gv_detalle_dia.DataBind(); } lbl_fecha.Text = lbl_fecha_view.Text = dia.fecha.ToString("dddd', ' dd 'de' MMMM 'del' yyyy"); ddl_estado_turno_m.SelectedValue = dia.estado_tm.ToString(); ddl_estado_turno_t.SelectedValue = dia.estado_tt.ToString(); lbl_horas_normales.Text = lbl_horas_normales_view.Text = dia.horas_normales; lbl_horas_extra_cincuenta.Text = lbl_horas_extra_cincuenta_view.Text = dia.horas_extra_50; lbl_horas_extra_cien.Text = lbl_horas_extra_cien_view.Text = dia.horas_extra_100; Session["DiaSeleccionado"] = dia; Session["Detalle"] = detalle; if (usuariologueado.perfil == perfil_usuario.Jefe) { MostrarPopUpValoresDia_view(); } else { MostrarPopUpValoresDia(); } }
protected void btn_agregar_detalle_dia_Click(object sender, EventArgs e) { string errores = string.Empty; bool tiene_error = false; int id_movimiento = 0; int.TryParse(hidden_id_detalle.Value, out id_movimiento); errores = ddl_equipo.SelectedItem.Text != string.Empty ? errores : "• Debe seleccionar un equipo."; tiene_error = ddl_equipo.SelectedItem.Text != string.Empty ? false : true; if (!tiene_error) { tiene_error = tb_hora_desde.Value != string.Empty ? false : true; errores = !tiene_error ? errores : "• Debe agregar hora desde.<br/>"; } if (!tiene_error) { tiene_error = tb_hora_hasta.Value != string.Empty ? false : true; errores = !tiene_error ? errores : "• Debe agregar hora hasta.<br/>"; } if (!tiene_error) { tiene_error = Horas_string.AMayorQueB(tb_hora_hasta.Value, tb_hora_desde.Value) ? false : true; errores = !tiene_error ? errores : "• La hora desde debe ser menor a la hora hasta.<br/>"; } if (!tiene_error) { Dia dia = Session["DiaSeleccionado"] as Dia; Equipo equipo = null; bool soldador = false; using (var cxt = new Model1Container()) { int id_equipo = Convert.ToInt32(ddl_equipo.SelectedItem.Value); equipo = cxt.Equipos.FirstOrDefault(ee => ee.id_equipo == id_equipo); soldador = cxt.Empleados.First(x => x.id_empleado == dia.id_empleado).Categoria.nombre == "Soldador"; equipo.OUT = soldador ? false : equipo != null ? equipo.OUT : false; } div_error_detalle.Visible = false; List<fila_detalle_dia> filas = Session["Detalle"] as List<fila_detalle_dia>; if (id_movimiento != 0) { fila_detalle_dia fila = filas.FirstOrDefault(ff => ff.id_detalle_dia == id_movimiento); filas.Remove(fila); fila._out = equipo != null ? equipo.OUT : false; fila.id_equipo = equipo != null ? equipo.id_equipo : 0; fila.fecha = dia.fecha; fila.equipo = equipo != null ? equipo.nombre : ddl_equipo.SelectedItem.Text; fila.desde = tb_hora_desde.Value; fila.hasta = tb_hora_hasta.Value; fila.total_movimiento = Horas_string.RestarHoras(tb_hora_hasta.Value, tb_hora_desde.Value); filas.Add(fila); } else { if (hidden_editar.Value == "si") { int index = -1; foreach (fila_detalle_dia item in filas) { if (item.id_equipo.ToString() == hidden_editar_equipo.Value && item.desde == tb_hora_desde.Value && item.hasta == tb_hora_hasta.Value && item.id_detalle_dia == 0) { index = filas.IndexOf(item); break; } } filas.RemoveAt(index); } fila_detalle_dia detalle = new fila_detalle_dia(); detalle._out = equipo != null ? equipo.OUT : false; detalle.id_equipo = equipo != null ? equipo.id_equipo : 0; detalle.fecha = dia.fecha; detalle.equipo = equipo != null ? equipo.nombre : ddl_equipo.SelectedItem.Text; detalle.desde = tb_hora_desde.Value; detalle.hasta = tb_hora_hasta.Value; detalle.total_movimiento = Horas_string.RestarHoras(tb_hora_hasta.Value, tb_hora_desde.Value); filas.Add(detalle); } hidden_id_detalle.Value = "0"; hidden_editar.Value = "no"; tb_hora_desde.Value = ""; tb_hora_hasta.Value = ""; btn_agregar_detalle_dia.Text = "Agregar"; ddl_equipo.SelectedIndex = 0; string horasTotales = "00:00"; string horasAusente = "00:00"; string horasGuardia = "00:00"; string horasVariosTaller = "00:00"; foreach (fila_detalle_dia item_detalle in filas) { if (!item_detalle._out) { if (item_detalle.equipo != "Ausencia") { horasTotales = Horas_string.SumarHoras(new string[] { horasTotales, Horas_string.RestarHoras(item_detalle.hasta, item_detalle.desde) }); if (item_detalle.equipo == "Guardia") { if (!soldador) { horasGuardia = Horas_string.SumarHoras(new string[] { horasGuardia, Horas_string.RestarHoras(item_detalle.hasta, item_detalle.desde) }); } else { horasVariosTaller = Horas_string.SumarHoras(new string[] { horasVariosTaller, Horas_string.RestarHoras(item_detalle.hasta, item_detalle.desde) }); } } if (item_detalle.equipo == "Varios Taller") { horasVariosTaller = Horas_string.SumarHoras(new string[] { horasVariosTaller, Horas_string.RestarHoras(item_detalle.hasta, item_detalle.desde) }); } } else { horasAusente = Horas_string.SumarHoras(new string[] { horasAusente, Horas_string.RestarHoras(item_detalle.hasta, item_detalle.desde) }); } } } dia.horas_normales = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Normales); dia.horas_extra_50 = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Extra50); dia.horas_extra_100 = ObtenerHoras(horasTotales, dia.fecha, TipoHora.Extra100); dia.ausente = horasAusente; dia.guardia = horasGuardia; dia.varios_taller = horasVariosTaller; if (soldador) { QuitarColumnaOUT(); } gv_detalle_dia.DataSource = filas; gv_detalle_dia.DataBind(); lbl_horas_normales.Text = dia.horas_normales; lbl_horas_extra_cincuenta.Text = dia.horas_extra_50; lbl_horas_extra_cien.Text = dia.horas_extra_100; Session["DiaSeleccionado"] = dia; Session["Detalle"] = filas; } else { errores = "<label>Corrija los siguientes errores antes de continuar:</label><br/>" + errores; div_error_detalle.Visible = true; p_error.InnerHtml = errores; } MostrarPopUpValoresDia(); }