public ActionResult AgregarNota(agenda_mensajero agendaMensajero, int?menu) { agenda_mensajero agenda = db.agenda_mensajero.Find(agendaMensajero.id); agenda.notas_inconformidad = agendaMensajero.notas_inconformidad; db.Entry(agenda).State = EntityState.Modified; int resultado = db.SaveChanges(); if (resultado == 1) { TempData["mensaje"] = " Cita creada correctamente"; } else { TempData["mensaje_error"] = "Error al crear la Cita, por favor valide los datos"; } return(RedirectToAction("Index", new { menu })); }
public ActionResult EditarMensajeria(agenda_mensajero agendaMensajero, int?menu) { if (ModelState.IsValid) { bool citas = true; citas = CalcularDisponible(agendaMensajero.idmensajero, DateTime.Now, agendaMensajero.desde, agendaMensajero.hasta); if (citas) { agenda_mensajero agenda = db.agenda_mensajero.Find(agendaMensajero.id); agenda.desde = agendaMensajero.desde; agenda.hasta = agendaMensajero.hasta; agenda.descripcion = agendaMensajero.descripcion; agenda.fec_actualizacion = DateTime.Now; agenda.idestado = agendaMensajero.idestado; agenda.idmensajero = agendaMensajero.idmensajero; agenda.bodega_destino = agendaMensajero.bodega_destino; agenda.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); agenda.idPrioridad = agendaMensajero.idPrioridad; agenda.idTransporte = agendaMensajero.idTransporte; db.Entry(agenda).State = EntityState.Modified; try { int result = db.SaveChanges(); if (result == 1) { TempData["mensaje"] = " Cita editada correctamente"; } else { TempData["mensaje_error"] = " Error al editar la Cita, por favor valide los datos"; } } catch (DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors) { foreach (DbValidationError validationError in validationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", validationErrors.Entry.Entity, validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException raise = new InvalidOperationException(message, raise); TempData["mensaje_error"] = raise; return(RedirectToAction("Index", new { menu })); } } throw raise; } } else { TempData["mensaje_error"] = "Ya tiene una cita agendada para el rango de fecha y hora ingresados, por favor valide"; } } else { //TempData["mensaje_error"] = "Errores en la creación del pedido, por favor valide"; System.Collections.Generic.List <ModelErrorCollection> errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); } return(RedirectToAction("Index", new { menu })); }
public JsonResult CrearMensajeria(agenda_mensajero agendaMensajero, int[] idEncabezados) { if (Session["user_usuarioid"] != null) { var dataResult = 0; var id = idEncabezados[0]; if (ModelState.IsValid) { using (DbContextTransaction dbTran = db.Database.BeginTransaction()) { try { bool citas = CalcularDisponible(agendaMensajero.idmensajero, DateTime.Now, agendaMensajero.desde, agendaMensajero.hasta); if (citas) { if (agendaMensajero.hasta > agendaMensajero.desde) { agendaMensajero.desde = agendaMensajero.desde; agendaMensajero.hasta = agendaMensajero.hasta; //agendaMensajero.idestado = agendaMensajero.idestado;/*1*/ agendaMensajero.idestado = 3; agendaMensajero.idPrioridad = agendaMensajero.idPrioridad; /*10*/ agendaMensajero.idTransporte = agendaMensajero.idTransporte; /*11*/ agendaMensajero.idmensajero = agendaMensajero.idmensajero; /*2*/ agendaMensajero.descripcion = agendaMensajero.descripcion; agendaMensajero.destino_bodega = agendaMensajero.destino_bodega; /*4*/ agendaMensajero.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]); /*6*/ agendaMensajero.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); /*7*/ agendaMensajero.fec_creacion = DateTime.Now; agendaMensajero.fec_actualizacion = DateTime.Now; //agendaMensajero.titulo = agendaMensajero.titulo; //agendaMensajero.motivo = agendaMensajero.motivo; //agendaMensajero.origen_bodega = agendaMensajero.origen_bodega; agendaMensajero.origen_bodega = Convert.ToInt32(Session["user_bodega"]); /*3*/ /* * agendaMensajero.idTraslado = agendaMensajero.idTraslado; * agendaMensajero.idEncabezado = Convert.ToInt32(arreglo1[3]); */ db.agenda_mensajero.Add(agendaMensajero); int result = db.SaveChanges(); var buscar = agendaMensajero.id; for (int i = 0; i < idEncabezados.Length; i++) { var tmp = idEncabezados[i]; var documento = db.recibidotraslados.Where(d => d.id == tmp && d.lineas_documento.mensajeria_atendido == false && d.encab_documento.requiere_mensajeria == true).FirstOrDefault(); detalle_agendamiento detalle = new detalle_agendamiento(); detalle.fk_agendamiento = buscar; detalle.fk_encab_documento = documento.idtraslado; detalle.fk_recibidotraslado = documento.id; db.detalle_agendamiento.Add(detalle); int resultado1 = db.SaveChanges(); //al detalle del traslado le tengo que cambiar el estado documento.estado_traslado = 3; db.Entry(documento).State = EntityState.Modified; //marco la linea documento como que ya se atendió var linea = db.lineas_documento.Where(d => d.id == documento.idlinea).FirstOrDefault(); linea.mensajeria_atendido = true; db.Entry(linea).State = EntityState.Modified; int resultado = db.SaveChanges(); //busco el encabezado si tiene otras lineas que no sean estas y que tengan requiere_mensajeria var otras_lineas = db.lineas_documento.Where(d => d.id_encabezado == documento.idtraslado && d.mensajeria_atendido == false && d.encab_documento.requiere_mensajeria == true).Count(); if (otras_lineas == 0) { var encab = db.encab_documento.Where(d => d.idencabezado == documento.idtraslado).FirstOrDefault(); encab.mensajeria_atendido = true; db.Entry(linea).State = EntityState.Modified; //busco la solicitud de traslado asociada var soli = db.Solicitud_traslado.Where(d => d.Id == encab.id_solicitud_traslado).FirstOrDefault(); if (soli != null) { soli.Estado_atendido = 3; } int resultado2 = db.SaveChanges(); } } if (result == 1) { dbTran.Commit(); //dataResult = "Agenda creada correctamente"; dataResult = 1; } else { dbTran.Rollback(); //dataResult = "Error al crear la Agenda, por favor valide los datos"; dataResult = 0; } } else { dbTran.Rollback(); //dataResult = "La fecha final de la agenda debe ser mayor a la inicial, por favor valide"; dataResult = 2; } } else { dbTran.Rollback(); //dataResult = "Ya tiene una agenda para el día y hora ingresados, por favor valide"; dataResult = 3; } } catch (Exception ex) { var error = ex.InnerException.Message; dbTran.Rollback(); dataResult = 0; } } } return(Json(dataResult, JsonRequestBehavior.AllowGet)); } else { return(Json(0, JsonRequestBehavior.AllowGet)); } }
public ActionResult cambiarEstado(agenda_mensajero agendaMensajero, int?menu, int[] mensajerias) { var dataResult = 0; for (int i = 0; i < mensajerias.Length; i++) { var tmp = mensajerias[i]; agenda_mensajero agenda = db.agenda_mensajero.Find(tmp); var error = 0; if (agenda != null) { agenda.idestado = 4; db.Entry(agenda).State = EntityState.Modified; //busco los recibidotraslados asociados a los detalles (si los hay) y le cambio el estado a 4 var detalles = db.detalle_agendamiento.Where(d => d.fk_agendamiento == tmp).ToList(); if (detalles.Count > 0) { foreach (var item2 in detalles) { if (item2.recibidotraslados != null) { //busco el recibidotraslado y le pongo el estado 4 (despachado) var reci = db.recibidotraslados.Where(d => d.id == item2.fk_recibidotraslado).FirstOrDefault(); if (reci != null) { reci.estado_traslado = 4; db.Entry(reci).State = EntityState.Modified; } int resultado = db.SaveChanges(); if (resultado == 0) { error = 1; break; } //busco si hay otros recibidotraslado para este encabezado que tengan estado menor a 4 var existenpendientes = db.recibidotraslados.Where(d => d.id != item2.fk_recibidotraslado && d.estado_traslado < 4).Count(); if (existenpendientes == 0) { //actualizo la solicitud de traslado asociada var enca = db.encab_documento.Where(d => d.idencabezado == item2.fk_encab_documento).FirstOrDefault(); if (enca != null) { if (enca.id_solicitud_traslado != null) { var soli = db.Solicitud_traslado.Where(d => d.Id == enca.id_solicitud_traslado).FirstOrDefault(); if (soli != null) { soli.Estado_atendido = 4; db.Entry(soli).State = EntityState.Modified; var guar = db.SaveChanges(); } } } } } } } if (error == 0) { TempData["mensaje"] = "Cambio de Estado correctamente"; dataResult = 1; } else { TempData["mensaje_error"] = "Error al cambiar el estado, por favor valide los datos"; dataResult = 0; // break; } } else { TempData["mensaje_error"] = "Error al cambiar el estado, por favor valide los datos (numero de cita no válido)"; dataResult = 0; //break; } } return(Json(dataResult, JsonRequestBehavior.AllowGet)); }