Example #1
0
        public async Task <long> CreateReturn(AptitudesEmpleado model)
        {
            try
            {
                if (!await this.ExistByAptitudesCatIde(model.AptitudesCatId, model.ClaveEmpleado))
                {
                    _db.bdSetAptitudesEmpleado.Add(model);
                    await _db.SaveChangesAsync();

                    return(model.Id);
                }
                else
                {
                    var _model = await _db.bdSetAptitudesEmpleado
                                 .FirstOrDefaultAsync(e => e.ClaveEmpleado == model.ClaveEmpleado &&
                                                      e.AptitudesCatId == model.AptitudesCatId);

                    if (_model != null)
                    {
                        _model.Estado = true;
                        await _db.SaveChangesAsync();
                    }
                    await _db.SaveChangesAsync();

                    return(_model.Id);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Example #2
0
 public async Task Create(AptitudesEmpleado model)
 {
     try
     {
         _db.bdSetAptitudesEmpleado.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
Example #3
0
        public async Task Update(AptitudesEmpleado model)
        {
            try
            {
                var _model = await _db.bdSetAptitudesEmpleado.FirstOrDefaultAsync(e => e.Id == model.Id);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Example #4
0
        public async Task <IHttpActionResult> Update([FromBody] AptitudesEmpleado model)
        {
            if (!ModelState.IsValid)
            {
                log.Warn(new MDCSet(this.ControllerContext.RouteData), new Exception("!ModelState.IsValid"));
                return(BadRequest(ModelState));
            }

            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                await _entityRepo.Update(model);

                return(Ok("Registro actualizado exitosamente!"));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
Example #5
0
        //se regustran a partir de AptitudesModel
        public async Task <List <long> > CreateValid(AptitudesModel model)
        {
            List <long> agregados = new List <long>();

            try
            {
                var        existentes = new List <AptitudesCat>();
                var        nuevos     = new List <AptitudesCat>();
                List <int> idNews     = new List <int>();

                if (model != null && model.Aptitudes != null && model.Aptitudes.Count > 0)
                {
                    existentes = model.Aptitudes.FindAll(x => x.Id > 0);
                    nuevos     = model.Aptitudes.FindAll(x => x.Id == 0);
                    var    nuevoStr   = nuevos.Select(x => x.Nombre.Trim()).ToList();
                    string nuevosIN   = String.Join("','", nuevoStr.ToArray());
                    var    resultados = await _db.Database.SqlQuery <String>
                                            ("SELECT DISTINCT Nombre FROM GEN.cat_Aptitudes where Nombre collate  Latin1_General_CI_AI IN ('" + nuevosIN + "')").ToListAsync();

                    var NuevosValid = nuevoStr.Where(x => !resultados.Contains(x.ToString())).ToList();
                    //---- se guradan nuevos elementos en el catalogo de aptitudes:GEN.cat_Aptitudes
                    foreach (var n in NuevosValid)
                    {
                        try
                        {
                            var idNew = await this.CreateNewCat(new AptitudesCat(n));

                            idNews.Add(idNew);
                        }
                        catch (Exception ex)
                        {
                            _db = new GEN_Context();
                        }
                    }

                    //---- se guradan AptitudesEmpleado de aptitudes existentes
                    foreach (var apt in existentes)
                    {
                        AptitudesEmpleado apE = new AptitudesEmpleado();
                        apE.Estado         = true;
                        apE.ClaveEmpleado  = model.ClaveEmpleado;
                        apE.AptitudesCatId = apt.Id;
                        try
                        {
                            var id = await this.CreateReturn(apE);

                            agregados.Add(id);
                        }
                        catch (Exception exApE)
                        {
                            _db = new GEN_Context();
                        }
                    }
                    //---- se guradan AptitudesEmpleado de aptitudes nuevas
                    foreach (var id in idNews)
                    {
                        AptitudesEmpleado apE = new AptitudesEmpleado();
                        apE.Estado         = true;
                        apE.ClaveEmpleado  = model.ClaveEmpleado;
                        apE.AptitudesCatId = id;
                        try
                        {
                            var idBd = await this.CreateReturn(apE);

                            agregados.Add(idBd);
                        }
                        catch (Exception exApE)
                        {
                            _db = new GEN_Context();
                        }
                    }
                }
                return(agregados);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }