public async Task<ActionResult> InfoNuevoIngreso(INGRESOMODEL _model) { if (ModelState.IsValid) { // validar si no existe un egreso pendiente //tiene al menos un ingreso registrado (re-ingreso) if (await _context.INGRESO.FirstOrDefaultAsync(i => i.IDPERSONA == _model.IDPERSONA) != null) { // comprueba que al menos un registro tenga fecha de egrso nula if (await _context.INGRESO.FirstOrDefaultAsync(i => i.FECHAEGRESOPV != null) != null) { // duvuele un mesaje de egreso pendiente, no puede tener un egreso pendiente ModelState.AddModelError("", "Este paciente tien un Egreso pendiente, por favor notificar al Director sobre este caso"); ViewBag.IDCRENTROTERAPEUTICO = new SelectList(_context.CENTROTERAPEUTICOes, "ID", "NOMBRE", _model.IDCRENTROTERAPEUTICO); return View(_model); } else { // get y set entity var _entity = new INGRESO { NUMEXPEDIENTE = _model.NUMEXPEDIENTE, FECHAINGRESOSISTEMA = DateTime.Now, OBSERVACIONES = _model.OBSERVACIONES, STATUSFLOW = 1, IDPERSONA = _model.IDPERSONA }; // guardar _context.INGRESO.Add(_entity); await _context.SaveChangesAsync(); // crear carpeta de documentos var pathFichaDocus = Path.Combine(Server.MapPath("~/App_Data/DocumentosIngreso/" + _entity.IDPERSONA.ToString() + ""), _entity.ID.ToString()); //orden de crear carpeta Directory.CreateDirectory(pathFichaDocus); // establecer el centroterapéutico de desarrollo var _entityCTD = new CENTRODESARROLLOINGRESO { IDINGRESO = _entity.ID, IDCENTROTERAPEUTICO = _model.IDCRENTROTERAPEUTICO, FECHAREGISTRO = DateTime.Now, }; // guardar el registro _context.CENTRODESARROLLOINGRESO.Add(_entityCTD); await _context.SaveChangesAsync(); // redireccionar a los documentos // los docuemtos son dependencia del ingreso return RedirectToAction("EntregaDocumentosIngreso", "SolicitudIngreso", new { ID = _entity.ID }); } } else { // get y set entity var _entity = new INGRESO { NUMEXPEDIENTE = _model.NUMEXPEDIENTE, FECHAINGRESOSISTEMA = DateTime.Now, OBSERVACIONES = _model.OBSERVACIONES, STATUSFLOW = 1, IDPERSONA = _model.IDPERSONA }; // guardar _context.INGRESO.Add(_entity); await _context.SaveChangesAsync(); // establecer el centroterapéutico de desarrollo var _entityCTD = new CENTRODESARROLLOINGRESO { IDINGRESO = _entity.ID, IDCENTROTERAPEUTICO = _model.IDCRENTROTERAPEUTICO, FECHAREGISTRO = DateTime.Now, }; // guardar el registro _context.CENTRODESARROLLOINGRESO.Add(_entityCTD); await _context.SaveChangesAsync(); // crear carpeta de documentos por ingreso // crear capeta de interno // crear carpeta de documentos var pathFichaDocus = Path.Combine(Server.MapPath("~/App_Data/DocumentosIngreso/" + _entity.IDPERSONA.ToString() + ""), _entity.ID.ToString()); //orden de crear carpeta Directory.CreateDirectory(pathFichaDocus); // redireccionar a los documentos // los docuemtos son dependencia del ingreso return RedirectToAction("EntregaDocumentosIngreso", "SolicitudIngreso", new { ID = _entity.ID }); } } ViewBag.IDCRENTROTERAPEUTICO = new SelectList(_context.CENTROTERAPEUTICOes, "ID", "NOMBRE", _model.IDCRENTROTERAPEUTICO); return View(_model); }
// modificación del estado public async Task<ActionResult> EditarEstadoIngreso(INGRESOMODEL _model) { Thread.Sleep(2000); try { // get entity var _entity = new INGRESO(); // find _entity = await _context.INGRESO.FindAsync(_model.ID); //set cambios // _entity.FECHAFIRMAACUERDO = _model.FECHAFIRMAACUERDO; _entity.FECHAUTORIZACION = _model.FECHAUTORIZACION; _entity.ACEPTADO = _model.ACEPTADO; //_entity.CONTRATO = _model.CONTRATO; _entity.OBSERVACIONES = _model.OBSERVACIONES; //save data _context.Entry(_entity).State = EntityState.Modified; await _context.SaveChangesAsync(); return Json(new { success = true, message = "Se ha cambiado el estado con éxito!" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { return Json(new { success = false, message = ex.Message }, JsonRequestBehavior.AllowGet); } }