// DETALLE DEL CT public async Task<ActionResult> DetalleCentroTerapeutico(string ID) { // si es una cadena vacía, es una petición fallida if(ID.Equals(string.Empty)) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var _centroTerapeutico = await this._context.CENTROTERAPEUTICOes.FindAsync(ID); // si el resultado es nulo se envía una mensaje al cliente de no encontrado if(_centroTerapeutico == null) { return HttpNotFound(); } //seteamos el modelo var _model = new CENTROTERAPEUTICOMODEL { ID = _centroTerapeutico.ID, NOMBRE = _centroTerapeutico.NOMBRE, DESCRIPCION = _centroTerapeutico.DESCRIPCION, IDCIUDADOPERACION = _centroTerapeutico.IDCIUDADOPERACION }; return View(_model); }
public async Task<ActionResult> EditarCentroTerapeutico(CENTROTERAPEUTICOMODEL _model) { try { if (ModelState.IsValid) { var _updateCT = new CENTROTERAPEUTICO(); _updateCT = await _context.CENTROTERAPEUTICOes.FindAsync(_model.ID); _updateCT.NOMBRE = _model.NOMBRE; _updateCT.DESCRIPCION = _model.DESCRIPCION; _updateCT.IDCIUDADOPERACION = _model.IDCIUDADOPERACION; ; // si existe la clave en el contexto // si el nombre está repetido if (_context.CENTROTERAPEUTICOes.FirstOrDefault(c => c.NOMBRE == _model.NOMBRE && c.ID != _model.ID) != null) { ModelState.AddModelError(string.Empty, "El nombre de este CT ya existe para otro registro"); ViewBag.CityID = new SelectList(_context.CITies, "ID", "Ciudad"); return View(_model); } else { // se procede a guardar en la base de datos _context.Entry(_updateCT).State = EntityState.Modified; await _context.SaveChangesAsync(); return RedirectToAction("CentrosTerapeuticos", "Configuraciones"); } } }catch(DbUpdateConcurrencyException ex) { var vEntry = ex.Entries.Single(); var vClientValue = (CENTROTERAPEUTICO)vEntry.Entity; var vDataBaseEntry = vEntry.GetDatabaseValues(); if(vDataBaseEntry == null) { ModelState.AddModelError(string.Empty, "Imposible hacer cambios, el CENTRO TERAPEUTICO ha sido eliminado por otro usuario"); }else { var vDatabaseValues = (CENTROTERAPEUTICO)vDataBaseEntry.ToObject(); if(vDatabaseValues.NOMBRE != vClientValue.NOMBRE) ModelState.AddModelError("NOMBRE", "VALOR ACTUAL: " + vDatabaseValues.NOMBRE); if(vDatabaseValues.DESCRIPCION != vClientValue.DESCRIPCION) ModelState.AddModelError("DESCRIPCION", "VALOR ACTUAL: " + String.Format("{0:C}", vDatabaseValues.DESCRIPCION)); if(vDatabaseValues.IDCIUDADOPERACION != vClientValue.IDCIUDADOPERACION) ModelState.AddModelError("IDCIUDADOPERACION", "VALOR ACTUAL: "+ _context.CITies.Find(vDatabaseValues.IDCIUDADOPERACION).NAME); ModelState.AddModelError(string.Empty, "El registro que intenta modificar, fue modificado por otro usuario después " +"que se tuvo un valor original. La operación de Edición fue cancelada. Si deseas seguir intentado, guarda e cambio de nuevo, sino " +" haz clic en la lista de todos los registros"); } } catch(RetryLimitExceededException /* dex */ ) { // log ModelState.AddModelError(string.Empty, "No se pueden guardar los cambios, si el problema persiste, por favor contacar a los administradores del sistema"); } // se redirige a la misma página, con el detalle de sus errores _model.COUNTRIES = _context.COUNTRies; return View(_model); }
public async Task<ActionResult> NuevoCentroTerapeutico(CENTROTERAPEUTICOMODEL _model) { if (ModelState.IsValid) { var _newCT = new CENTROTERAPEUTICO { ID = _model.ID, NOMBRE = _model.NOMBRE, DESCRIPCION = _model.DESCRIPCION, IDCIUDADOPERACION = _model.IDCIUDADOPERACION }; // si existe la clave en el contexto if (_context.CENTROTERAPEUTICOes.Find(_model.ID) != null) { ModelState.AddModelError(string.Empty, "Esta clave ya ha sido asignada a otro CT"); ViewBag.CityID = new SelectList(_context.CITies, "ID", "Ciudad"); return View(_model); } // si el nombre está repetido else if (_context.CENTROTERAPEUTICOes.FirstOrDefault(c => c.NOMBRE == _model.NOMBRE) != null) { ModelState.AddModelError(string.Empty, "El nombre de este CT ya existe para otro registro"); ViewBag.CityID = new SelectList(_context.CITies, "ID", "Ciudad"); return View(_model); } else { // se procede a guardar en la base de datos _context.CENTROTERAPEUTICOes.Add(_newCT); await _context.SaveChangesAsync(); return RedirectToAction("CentrosTerapeuticos", "Configuraciones"); } } // se redirige a la misma página, con el detalle de sus errores _model.COUNTRIES = _context.COUNTRies; return View(_model); }
public async Task<ActionResult> EditarCentroTerapeutico(string ID) { if(ID == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var _centroTerapeutico = await _context.CENTROTERAPEUTICOes.FindAsync(ID); if(_centroTerapeutico == null) { return HttpNotFound(); } // model set var _model = new CENTROTERAPEUTICOMODEL { ID = _centroTerapeutico.ID, NOMBRE = _centroTerapeutico.NOMBRE, DESCRIPCION = _centroTerapeutico.DESCRIPCION, IDCIUDADOPERACION = _centroTerapeutico.IDCIUDADOPERACION, CODIGOPAIS = _context.CITies.Find(_centroTerapeutico.IDCIUDADOPERACION).COUNTRYCODE }; ViewBag.CODIGOPAIS = new SelectList(_context.COUNTRies, "CODE", "NAME", _model.CODIGOPAIS); _model.COUNTRIES = _context.COUNTRies; return View(_model); }
public ActionResult NuevoCentroTerapeutico() { //ViewBag.CityID = new SelectList(_context.CITies, "ID", "NAME"); var _model = new CENTROTERAPEUTICOMODEL(); _model.CITIES = _context.CITies; // vista de filtro para paises y ciudades //ViewBag.CODIGOPAIS = new SelectList(_context.COUNTRies, "CODE", "NAME"); _model.COUNTRIES = _context.COUNTRies; return View(_model); }