public void AltaHoraExtra(EmpleadoHorasExtra hemp, Empleado empLog) { SqlConnection conexion = null; try { conexion = new SqlConnection(Conexion.ObtenerCadenaConexion(empLog.Documento, empLog.Contrasenia)); SqlCommand cmdAltaSolicitante = new SqlCommand("AltaHoraExtra", conexion); cmdAltaSolicitante.CommandType = CommandType.StoredProcedure; cmdAltaSolicitante.Parameters.AddWithValue("@documentoEmpleado", hemp.Empleado.Documento); cmdAltaSolicitante.Parameters.AddWithValue("@fecha", hemp.Fecha); cmdAltaSolicitante.Parameters.AddWithValue("@minutosExtra", hemp.MinutosExtra); SqlParameter valorRetorno = new SqlParameter("@valorRetorno", SqlDbType.Int); valorRetorno.Direction = ParameterDirection.ReturnValue; cmdAltaSolicitante.Parameters.Add(valorRetorno); conexion.Open(); cmdAltaSolicitante.ExecuteNonQuery(); switch ((int)valorRetorno.Value) { case -1: throw new Exception("No existe empleado en sistema."); break; case -2: throw new Exception("Ocurrió un error al agregar las horas extra del empleado."); break; case -3: throw new Exception("Ocurrió un error al agregar las horas extra del empleado."); break; } } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (conexion != null) { conexion.Close(); } } }
void IService.AltaHoraExtra(EmpleadoHorasExtra hemp, Empleado empLog) { FabricaLogica.GetLogicaHorasExtra().AltaHoraExtra(hemp, empLog); }
public void AltaHoraExtra(EmpleadoHorasExtra hemp, Empleado empLog) { FabricaPersistencia.GetPersistenciaHorasExtra().AltaHoraExtra(hemp, empLog); }
public void OnTimer(object sender, ElapsedEventArgs args) { try { string ruta = ConfigurationManager.AppSettings["xmlPath"]; eventLog.WriteEntry("Monitoriando xml, " + ruta, EventLogEntryType.Information, evento++); if (File.Exists(ruta)) { XmlDocument doc = new XmlDocument(); doc.Load(ruta); string documento = "", inicio = "", fin = "", nombre = "", contrasenia = ""; XmlNodeList empleado = doc.GetElementsByTagName("EmpleadoLogueado"); eventLog.WriteEntry("Existe empleado logueado, leemos xml."); foreach (XmlElement nodo in empleado) { XmlNodeList nDoc = nodo.GetElementsByTagName("Documento"); XmlNodeList nContrasena = nodo.GetElementsByTagName("Contrasenia"); XmlNodeList nNombre = nodo.GetElementsByTagName("Nombre"); XmlNodeList nInicio = nodo.GetElementsByTagName("Inicio"); XmlNodeList nFin = nodo.GetElementsByTagName("Fin"); documento = nDoc[0].InnerText; contrasenia = nContrasena[0].InnerText; nombre = nNombre[0].InnerText; inicio = nInicio[0].InnerText; fin = nFin[0].InnerText; } Empleado emp = new Empleado(); emp.Documento = Convert.ToInt32(documento); emp.Contrasenia = contrasenia; emp.NombreCompleto = nombre; emp.HoraInicio = inicio; emp.HoraFin = fin; DateTime ahora = DateTime.Now; eventLog.WriteEntry("hora " + fin.Substring(0, 2)); eventLog.WriteEntry("minutos " + fin.Substring(2, 2)); DateTime finTrabajo = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, Convert.ToInt32(fin.Substring(0, 2)), Convert.ToInt32(fin.Substring(3, 2)), 0); //calcular minutos extra. int minutosExtra = Convert.ToInt32((ahora - finTrabajo).TotalMinutes); eventLog.WriteEntry("Verifica si hay minutos extra."); if (minutosExtra >= 1) { ServiceClient wcf = new ServiceClient(); EmpleadoHorasExtra horasExtra = new EmpleadoHorasExtra(); eventLog.WriteEntry("Ingreso minutos extra emp: " + emp.NombreCompleto + ", cant: " + minutosExtra.ToString()); horasExtra.Empleado = emp; horasExtra.Fecha = ahora; horasExtra.MinutosExtra = minutosExtra; wcf.AltaHoraExtra(horasExtra, emp); eventLog.WriteEntry("Se inserto horas extra", EventLogEntryType.SuccessAudit); } } else { eventLog.WriteEntry("No existe empleado logueado."); } } catch (Exception ex) { eventLog.WriteEntry(ex.Message, EventLogEntryType.Error); } }