public void EliminarModuloCurso(DeleteModuloCursoInputParams inputParams) { using (ModuloCursoContext db = new ModuloCursoContext()) { try { db.eliminarModuloCurso.CallStoredProc(inputParams); } catch (Exception ex) { //TODO:: keep error in logger } } }
public IHttpActionResult Put([FromBody] ModuloDTO moduloDTO) { string message = "Un error ocurrio mientras se actualizaba el modulo: "; if (!ModelState.IsValid) { message += "Modulo ModelState no es valido."; return BadRequest(ModelState); } //string[] moduloDTOToSave = moduloDTO.Cursos.Distinct().ToArray(); using (var db = new SIGAEntities()) { try { Modulo modulo = db.Modulo.First(m => m.ModId == moduloDTO.ModId); modulo.ModNivelId = (int)db.ModuloNivel.Where(mn => mn.ModNivelNombre == moduloDTO.ModNivel).Select(id => id.ModNivelId).FirstOrDefault(); modulo.ModCatId = (int)db.ModuloCategoria.Where(mn => mn.ModCatNombre == moduloDTO.ModCategroria).Select(id => id.ModCatId).FirstOrDefault(); modulo.ModNombre = moduloDTO.ModNombre; modulo.ModNumHoras = moduloDTO.ModNumHoras; modulo.ModNumMes = moduloDTO.ModNumMes; modulo.ModNumCursos = moduloDTO.ModNumCursos; if (moduloDTO.Cursos.Count() > 0) { DeleteModuloCursoInputParams deleteModuloCursoInputParams = new DeleteModuloCursoInputParams() { ModId = moduloDTO.ModId }; ModuloCursoAllSpProcess ModuloCursoAllSPPRocess = new ModuloCursoAllSpProcess(); ModuloCursoAllSPPRocess.EliminarModuloCurso(deleteModuloCursoInputParams); foreach (var moduloCursoItem in moduloDTO.Cursos) { if (!String.IsNullOrEmpty(moduloCursoItem.CurName)) { var cursoFound = db.Curso.Where(c => c.CurName == moduloCursoItem.CurName).FirstOrDefault(); Curso curso = new Curso(); if (cursoFound == null) { curso.CurName = moduloCursoItem.CurName; curso.CurNumHoras = moduloCursoItem.CurNumHoras; curso.CurPrecio = moduloCursoItem.CurPrecio; db.Curso.Add(curso); db.SaveChanges(); } ModuloCurso moduloCurso = new ModuloCurso(); moduloCurso.MCFechaRegistro = DateTime.UtcNow; moduloCurso.ModId = modulo.ModId; moduloCurso.CurId = curso.CurId == 0 ? cursoFound.CurId : curso.CurId; db.ModuloCurso.Add(moduloCurso); } } } db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { if (!ModuloExists(moduloDTO.ModId)) { message = "An error ocurred while updating event: No event found with requested event id = " + moduloDTO.ModId.ToString(); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, message + " " + ex)); } else { message = "Un error ocurrio mientras se actualizaba el modulo " + ex; throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message)); } } } return StatusCode(HttpStatusCode.NoContent); }