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));
        }
Example #4
0
        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.")));
        }
Example #6
0
        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);
        }
Example #8
0
        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);
            }
        }
Example #9
0
 public void Save()
 {
     _storage.SaveChangesAsync();
 }
 public async Task <int> Salvar()
 {
     return(await _db.SaveChangesAsync());
 }