//GET: Cliente/Editar public ActionResult Editar(int id = 0) { if (Session["TipoUsuario"] != null && (Session["TipoUsuario"].ToString().Equals("Administrador") || (Session["TipoUsuario"].ToString().Equals("Cliente")) && (Convert.ToInt32(Session["IdUsuario"]) == id))) { try { if (id != 0) { EditarViewModel editVM = new EditarViewModel(); editVM.cliente = clienteBL.obtener(id); editVM.completarEditarVM(); //Es para manejo de archivo a la hora de guardar //editVM.cliente.Password = "******";//Es colo para validar el modelo return(View(editVM)); } else { return(RedirectToAction("Crear", "Cliente")); } } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { try { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } }
//GET: Administrador/Editar public ActionResult Editar(int id = 0) { if (Session["TipoUsuario"] != null && Session["TipoUsuario"].ToString().Equals("Administrador")) { try { if (id != 0) { EditarViewModel editVM = new EditarViewModel(); editVM.administrador = administradorBL.obtener(id); editVM.completarEditarVM(); //editVM.administrador.Password = "******";//Es colo para validar el modelo return(View(editVM)); } else { return(RedirectToAction("Crear", "Administrador")); } } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { try { return(RedirectToAction("Index", "Home")); } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } }
//GET: Categoria/Editar public ActionResult Editar(int id = 0) { if (Session["TipoUsuario"] != null && Session["TipoUsuario"].ToString().Equals("Administrador")) { try { if (id != 0) { EditarViewModel editVM = new EditarViewModel(); editVM.categoria = categoriaBL.obtener(id); editVM.completarEditarVM(); return(View(editVM)); } else { return(RedirectToAction("Crear", "Categoria")); } } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { try { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } }
public ActionResult Editar(EditarViewModel editVM) { if (ModelState.IsValid) { try { //COMPLETO EL PEDIDO CON LOS NUEVOS DATOS //INCLUYE LA ACTUALIZACION DE LOS FILTROS SELECCIONADOS if (Session["TipoUsuario"] != null) { editVM.completarPedido(Session["TipoUsuario"].ToString()); if (Session["TipoUsuario"].ToString().Equals("Cliente") && editVM.Pedido.Cliente.Id != Convert.ToInt32(Session["IdUsuario"])) { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } if (editVM.Pedido.Estado.Nombre.Equals("REALIZADO") || editVM.Pedido.Estado.Nombre.Equals("CANCELADO") || editVM.Pedido.Estado.Nombre.Equals("CONFIRMADO") || (Session["TipoUsuario"].ToString().Equals("Cliente") && editVM.Pedido.Estado.Nombre.Equals("CONFIRMADO POR CLIENTE"))) { ViewBag.Mensaje = "El pedido no se encuentra en un estado que permita modificarlo."; return(View("~/Views/Shared/_Mensajes.cshtml")); } if (editVM.Pedido.Estado.Nombre.Equals("EN CONSTRUCCION")) { if (editVM.Pedido.Id == Convert.ToInt32(Session["IdPedidoEnConstruccion"])) { if (editVM.RealizarPedido) { if (Session["TipoUsuario"].ToString().Equals("Administrador")) { editVM.Pedido.Estado = estadoPedidoBL.obtener("MODIFICADO POR ADMINISTRADOR"); if (editVM.Pedido.FechaRealizado.Equals(new DateTime())) { editVM.Pedido.FechaRealizado = DateTime.Today; } } else if (Session["TipoUsuario"].ToString().Equals("Cliente")) { editVM.Pedido.Estado = estadoPedidoBL.obtener("CONFIRMADO POR CLIENTE"); editVM.Pedido.FechaRealizado = DateTime.Today; } } } else { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { if (Session["TipoUsuario"].ToString().Equals("Administrador")) { editVM.Pedido.Estado = estadoPedidoBL.obtener("MODIFICADO POR ADMINISTRADOR"); } else if (Session["TipoUsuario"].ToString().Equals("Cliente")) { editVM.Pedido.Estado = estadoPedidoBL.obtener("CONFIRMADO POR CLIENTE"); } } //ACTUALIZO EL PEDIDO bool r = pedidoBL.actualizar(editVM.Pedido); if (!r) { // Podemos validar para mostrar un mensaje personalizado, por ahora el aplicativo se caera por el throw que hay en nuestra capa DAL ViewBag.Mensaje = "Ocurrio un error inesperado"; return(View("~/Views/Shared/_Mensajes.cshtml")); } else { if (Session["TipoUsuario"].ToString().Equals("Administrador")) { Session["IdPedidoEnConstruccion"] = administradorBL.obtenerPedidoEnContruccion(Convert.ToInt32(Session["IdUsuario"])); } else if (Session["TipoUsuario"].ToString().Equals("Cliente")) { Session["IdPedidoEnConstruccion"] = clienteBL.obtenerPedidoEnContruccion(Convert.ToInt32(Session["IdUsuario"])); } if (editVM.RealizarPedido) { if (Session["TipoUsuario"].ToString().Equals("Administrador")) { Administrador a = administradorBL.obtener(Convert.ToInt32(Session["IdUsuario"])); administradorBL.registrarPedidoEnConstruccion(a, 0); } else if (Session["TipoUsuario"].ToString().Equals("Cliente")) { clienteBL.registrarPedidoEnConstruccion(editVM.Pedido.Cliente, 0); } Session["IdPedidoEnConstruccion"] = 0; } Session["CantidadProductosCarrito"] = pedidoBL.obtenerCantidadProductos(Convert.ToInt32(Session["IdPedidoEnConstruccion"])); //Session["CantidadProductosCarrito"] = 0; if (Session["TipoUsuario"].ToString().Equals("Administrador")) { Session["PedidosSinConfirmar"] = pedidoBL.obtenerCantidadSinConfirmar(); } if (editVM.Pedido.ProductosPedidos == null) { return(RedirectToAction("Index", "Home")); } else if (editVM.Pedido.Estado.Nombre.Equals("EN CONSTRUCCION") || Session["TipoUsuario"].ToString().Equals("Administrador")) { editVM.mensajeSuccess = "Pedido modificado con éxito."; editVM.Pedido = pedidoBL.obtener(editVM.IdPedido); editVM.completarEditarVM(); return(View(editVM)); } else { return(RedirectToAction("Detalles", new { id = editVM.IdPedido })); } //ViewBag.Mensaje = "Su gestión ha sido realizada con éxito."; //return View("~/Views/Shared/_Mensajes.cshtml"); } } else { return(RedirectToAction("Index", "Home")); } } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { editVM.mensajeError = "Ocurrio un error al procesar su solicitud. Verifique los datos ingresados."; if (editVM.FechaEntregaSolicitada.Equals("") || editVM.FechaEntregaSolicitada.Equals(new DateTime())) { editVM.mensajeError = "Debe ingresar la fecha de entrega del pedido."; } if (Session["TipoUsuario"].ToString().Equals("Administrador") && (editVM.FechaRealizado.Equals("") || editVM.FechaRealizado.Equals(new DateTime()))) { editVM.mensajeError = "Debe ingresar la fecha de realización del pedido."; } editVM.Pedido = pedidoBL.obtener(editVM.IdPedido); editVM.completarEditarVM(); return(View(editVM)); } }
//LOGICA REVISADA 12/01/17 //GET: Pedido/Editar public ActionResult Editar(int id = 0) { if (Session["TipoUsuario"] != null) { try { if (id != 0) { //TRAIGO EL PEDIDO CON LOS ARTICULOS Y TODOS SUS FILTROS //INCLUYENDO SELECCIONADOS Y NO SELECCIONADOS Pedido p = pedidoBL.obtener(id); if (p != null) { if (Session["TipoUsuario"].ToString().Equals("Cliente") && Convert.ToInt32(Session["IdUsuario"]) != p.Cliente.Id) { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } if (p.Estado.Nombre.Equals("REALIZADO") || p.Estado.Nombre.Equals("CANCELADO") || p.Estado.Nombre.Equals("CONFIRMADO")) { ViewBag.Mensaje = "El pedido no se encuentra en un estado que permita modificarlo."; return(View("~/Views/Shared/_Mensajes.cshtml")); } if (p.Estado.Nombre.Equals("EN CONSTRUCCION")) { int pedidoEnConstruccion = 0; if (Session["TipoUsuario"].ToString().Equals("Administrador")) { pedidoEnConstruccion = administradorBL.obtenerPedidoEnContruccion(Convert.ToInt32(Session["IdUsuario"])); } else if (Session["TipoUsuario"].ToString().Equals("Cliente")) { pedidoEnConstruccion = clienteBL.obtenerPedidoEnContruccion(Convert.ToInt32(Session["IdUsuario"])); } if (pedidoEnConstruccion != id) { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } } if (p.Estado.Nombre.Equals("CONFIRMADO POR EL CLIENTE") && Session["TipoUsuario"].ToString().Equals("Cliente")) { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } EditarViewModel editVM = new EditarViewModel(); editVM.Pedido = p; editVM.completarEditarVM(); return(View(editVM)); } else { ViewBag.Mensaje = "No se encontró el pedido que desea visualizar."; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { ViewBag.Mensaje = "Debe indicar qué pedido desea visualizar."; return(View("~/Views/Shared/_Mensajes.cshtml")); } } catch (ProyectoException ex) { ViewBag.Mensaje = ex.Message; return(View("~/Views/Shared/_Mensajes.cshtml")); } } else { ViewBag.Mensaje = "No tiene permisos para relalizar esta acción."; return(View("~/Views/Shared/_Mensajes.cshtml")); } }