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); } }
public async Task Create(AptitudesEmpleado model) { try { _db.bdSetAptitudesEmpleado.Add(model); await _db.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message, e); } }
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); } }
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)); } }
//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); } }