public async Task <string> AddEmployee(EmpleadoDTO empleado) { var dbEmployee = await _cursoContext.Empleados.Where(x => x.dni == empleado.Dni).FirstOrDefaultAsync(); var dbJob = await _cursoContext.PuestosEmpresa.Where(x => x.empresaCuit == empleado.CuitEmpresa && x.puestoId == empleado.IdPuesto).FirstOrDefaultAsync(); Random random = new Random(); // Minimo = Trabajo de 4hs * 5 dias * 4 semanas = 80hs, Maximo = Trabajo de 12hs * 5 dias * 4 semanas = 240hs int horasTrabajadas = random.Next(80, 240); if (dbEmployee == null && dbJob != null) { _cursoContext.Empleados.Add(new Empleado() { dni = empleado.Dni, cuitEmpresa = empleado.CuitEmpresa, idPuesto = empleado.IdPuesto, archivo = null, nombre = empleado.Nombre, apellido = empleado.Apellido, horasTrabajadasUltimoMes = horasTrabajadas }); await _cursoContext.SaveChangesAsync(); return("Creado"); } else if (dbEmployee != null) { return("EmpleadoYaExiste"); } else if (dbJob == null) { return("PuestoNoEncontrado"); } return(null); }
public async Task <IActionResult> Create(Evento evento) { if (ModelState.IsValid) { _context.Add(evento); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(evento)); }
public async Task <IActionResult> Create([Bind("Id,Nome")] Departament departament) { if (ModelState.IsValid) { _context.Add(departament); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(departament)); }
public async Task <IActionResult> Create([Bind("Nombre,Jornada,Direccion,EscuelaId,Id")] Curso curso) { if (ModelState.IsValid) { _context.Add(curso); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["EscuelaId"] = new SelectList(_context.Set <Escuela>(), "Id", "Id", curso.EscuelaId); return(View(curso)); }
public async Task <ActionResult <String> > PutCurso(long id, Curso curso) { if (id != curso.Id) { return(BadRequest("Não foi possível atualizar o curso.")); } _context.Entry(curso).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok(Newtonsoft.Json.JsonConvert.SerializeObject("Atualização realizada com sucesso."))); }
public async Task <List <EmpleadoDTO> > ImportarArchivoEmpleados(IFormFile file) { ArchivoEmpleados archivoDB = await _context.ArchivosEmpleados .Where(a => a.archivo == file.FileName).FirstOrDefaultAsync(); if (archivoDB != null) { throw HttpResponseException.BadRequest("El archivo a importar ya fue procesado o tiene el mismo nombre"); } List <Empleado> empleados = new List <Empleado>(); bool formatoDeArchivoEsCorrecto = await DeserializadorArchivoEmpleados.FormatoDeDatosDeArchivoEsCorrecto(file.OpenReadStream()); if (formatoDeArchivoEsCorrecto) { empleados = await DeserializadorArchivoEmpleados.DeserializarArchivo(file.OpenReadStream(), file.FileName); empleados = await EliminarEmpleadosExistentesEnDB(empleados); if (empleados.Count == 0) { throw HttpResponseException .BadRequest("Los empleados del archivo ya estan registrados. Pertenecen a otro de nombre diferente"); } ArchivoEmpleados archivoDb = await SubirArchivo(file); if (archivoDb != null) { _context.Empleados.AddRange(empleados); int filasAfectadasDeEmpleados = await _context.SaveChangesAsync(); if (filasAfectadasDeEmpleados == 0) { throw HttpResponseException.InternalServer("Error al insertar los Empleados del archivo"); } } else { throw HttpResponseException.InternalServer("Error al insertar el archivo"); } } List <EmpleadoDTO> resul = CrearListaEmpleadosDTO(empleados); return(resul); }
public async Task <bool> Liquidation(Autorizacion autorizacion) { var liquidacionesEfectuadas = 0; var dbEmpleado = await _cursoContext.Empleados.Where(u => u.cuitEmpresa == autorizacion.cuitEmpresa).ToListAsync(); if (dbEmpleado != null) { foreach (Empleado empleado in dbEmpleado) { var puesto = await _cursoContext.PuestosEmpresa.Where(u => u.empresaCuit == autorizacion.cuitEmpresa && u.puestoId == empleado.idPuesto).FirstOrDefaultAsync(); if (puesto != null) { Liquidacion liquidacionEmpleado = new Liquidacion(); liquidacionEmpleado.liquidacion = empleado.horasTrabajadasUltimoMes * puesto.pagoPorHora; liquidacionEmpleado.cuitEmpresa = autorizacion.cuitEmpresa; liquidacionEmpleado.dniEmpleado = empleado.dni; liquidacionEmpleado.fecha = autorizacion.fecha; _cursoContext.Liquidaciones.Add(liquidacionEmpleado); await _cursoContext.SaveChangesAsync(); liquidacionesEfectuadas++; } return(true); } } return(false); }
public async Task <Model.Model.Empresa> AltaEmpresa(EmpresaDTO empresaDTO) { var dbEmpresa = await _empresaContext.Empresas.Where(e => e.cuit == empresaDTO.Cuit).FirstOrDefaultAsync(); if (dbEmpresa == null) { Model.Model.Empresa empresaAlta = new Model.Model.Empresa(); empresaAlta.cuit = empresaDTO.Cuit; empresaAlta.nombre = empresaDTO.Nombre; empresaAlta.razonSocial = empresaDTO.RazonSocial; empresaAlta.direccion = empresaDTO.Direccion; _empresaContext.Empresas.Add(empresaAlta); List <Puesto> dbPuestos = await _empresaContext.Puestos.ToListAsync(); foreach (Puesto puesto in dbPuestos) { PuestoEmpresa puestoEmpresa = new PuestoEmpresa(); puestoEmpresa.puestoId = puesto.id; puestoEmpresa.pagoPorHora = puesto.salarioPorDefecto; puestoEmpresa.empresaCuit = empresaAlta.cuit; //_empresaContext.PuestosEmpresas.Add(puestoEmpresa); await _empresaContext.SaveChangesAsync(); } await _empresaContext.SaveChangesAsync(); return(empresaAlta); } else { return(null); } }
public void Save() { _storage.SaveChangesAsync(); }
public async Task <int> Salvar() { return(await _db.SaveChangesAsync()); }