public JsonResult EliminarVehiculoTransaccion(int id) { var vehiculo_c = from l_vehiculo in autodb.vehiculo where l_vehiculo.id_vehiculo == id select l_vehiculo; UsuarioViewModel usuario = this.Session["User"] as UsuarioViewModel; var notificacion = ""; if (vehiculo_c.Count() > 0) { var vehiculo_i = vehiculo_c.First(); var trans = (from l_trans in autodb.transaccion_compra where l_trans.id_compra == usuario.id_T_Compra select l_trans).First(); trans.vehiculo.Remove(vehiculo_i); autodb.vehiculo.Remove(vehiculo_i); try { autodb.SaveChanges(); notificacion = "OK"; if (trans.vehiculo.Count() == 0) { trans.fk_estado_transaccion = 2; autodb.SaveChanges(); usuario.id_T_Compra = 0; this.Session["User"] = usuario; MensajeViewModels m1 = new MensajeViewModels { Titulo = "Operacón Completada", Cuerpo = "La Transacción de compra Nro. " + trans.id_compra + " fue anulada, debido a que ya no presenta vehículo en la lista", Tipo_Modal = "modal-warning" }; this.Session["Mensaje"] = m1; notificacion = "OK Todos"; } } catch (Exception e) { notificacion = "Mas Tarde"; } } else { notificacion = "No Existe"; } return(Json(notificacion, JsonRequestBehavior.AllowGet)); }
public ActionResult AnularTransaccion(int id) { var trans_c = from l_trans in autodb.transaccion_compra where l_trans.id_compra == id select l_trans; if (trans_c.Count() > 0) { var transaccion = trans_c.First(); UsuarioViewModel user_compra = this.Session["User"] as UsuarioViewModel; if (transaccion.fk_usuario == user_compra.id_Usuario) { if (transaccion.fk_estado_transaccion == 4) { autodb.vehiculo.RemoveRange(transaccion.vehiculo); transaccion.fk_estado_transaccion = 2; try { autodb.SaveChanges(); user_compra.id_T_Compra = 0; this.Session["User"] = user_compra; MensajeViewModels m1 = new MensajeViewModels { Titulo = "Operación Completada", Cuerpo = "La Transacción de compra Nro. " + id + " fue anulada satisfactoriamente.", Tipo_Modal = "modal-info" }; this.Session["Mensaje"] = m1; return(RedirectToAction("Index", "Home", new { react = "Transaccion-Completada" })); } catch (Exception e) { MensajeViewModels m1 = new MensajeViewModels { Titulo = "Error al completar la operación", Cuerpo = "La Transacción de compra Nro. " + id + " no fue anulada, por favor intente más tarde.", Tipo_Modal = "modal-warning" }; this.Session["Mensaje"] = m1; return(RedirectToAction("BusquedaPorModelo", "Compra", new { react = "Transaccion-Error" })); } } else { MensajeViewModels m1 = new MensajeViewModels { Titulo = "Error al completar la operación", Cuerpo = "Usted no puede anular una transaccion completada o anulada previamente.", Tipo_Modal = "modal-danger" }; this.Session["Mensaje"] = m1; return(RedirectToAction("Index", "Home", new { react = "Transaccion-Error" })); } } else { MensajeViewModels m1 = new MensajeViewModels { Titulo = "Error al completar la operación", Cuerpo = "Usted no es el usuario autorizado para realizar esta operación", Tipo_Modal = "modal-danger" }; this.Session["Mensaje"] = m1; return(RedirectToAction("Index", "Home", new { react = "Transaccion-Error" })); } } else { MensajeViewModels m1 = new MensajeViewModels { Titulo = "Error al completar la operación", Cuerpo = "La transacción de compra " + id + " no existe.", Tipo_Modal = "modal-danger" }; this.Session["Mensaje"] = m1; return(RedirectToAction("Index", "Home", new { react = "Transaccion-Error" })); } }
public ActionResult AdquirirVehiculo(ComprarVehiculoViewModels model) { if (!ModelState.IsValid) { SelectList lista = LlenarColores(); model.Lista_Colores = lista; return(View(model)); } if (model.id_Concesionario == null) { return(RedirectToAction("Home", "Index")); } var concesionario = (from l_concesionario in autodb.concesionario where l_concesionario.id_concesionario == model.id_Concesionario select l_concesionario).First(); var auto = from l_auto in autodb.modelo where l_auto.id_modelo == model.id_Modelo select l_auto; string m_imagen = ""; HttpPostedFileBase ufile = (HttpPostedFileBase)model.FileUpload; if (ufile != null) { if (IsImage(ufile) == false) { SelectList lista = LlenarColores(); model.Lista_Colores = lista; return(View(model)); } //Updating File on Server BEGIN var folder = Path.Combine(Server.MapPath("~/Imagen/"), concesionario.nombre, "/Inventario/"); var imagePath = Path.Combine(folder, ufile.FileName); if (!System.IO.Directory.Exists(folder)) { System.IO.Directory.CreateDirectory(folder); } ufile.SaveAs(imagePath); m_imagen = imagePath; } else { m_imagen = ""; } vehiculo v1 = new vehiculo { color = ObtenerColores(model.id_Color), imagen = m_imagen, fecha_ingreso = DateTime.Now, kilometraje = Convert.ToInt32(model.Kilometraje), fk_concesionario = model.id_Concesionario, fk_modelo = model.id_Modelo, fk_vehiculo_estado = ObtenerEstado(model.Estado_Vehiculo), valor_compra = Convert.ToDecimal(model.Valor_Compra) }; var op_add_vehiculo = autodb.vehiculo.Add(v1); UsuarioViewModel u1 = this.Session["User"] as UsuarioViewModel; transaccion_compra op_add_transaccion = new transaccion_compra(); if (u1.id_T_Compra != 0) { //En caso de que exista una transaccion de compra en curso op_add_transaccion = (from l_t_compra in autodb.transaccion_compra where l_t_compra.id_compra == u1.id_T_Compra select l_t_compra).First(); } else { //En caso de que no exista una transaccion de compra en curso transaccion_compra t1 = new transaccion_compra { fecha = DateTime.Now, fk_concesionario = model.id_Concesionario, fk_estado_transaccion = 4, fk_usuario = u1.id_Usuario }; op_add_transaccion = autodb.transaccion_compra.Add(t1); autodb.SaveChanges(); u1.id_T_Compra = op_add_transaccion.id_compra; this.Session["User"] = u1; } op_add_transaccion.vehiculo.Add(op_add_vehiculo); //Alerta a gerente model.Valor_Maximo = ConsultarValorMaximoModelo(model.id_Modelo, concesionario.id_concesionario, model.Estado_Vehiculo); if (Convert.ToDouble(model.Valor_Compra) > model.Valor_Maximo) { var usu_gerente = from l_usu in autodb.usuario where l_usu.fk_tipo_usuario == 2 && l_usu.fk_concesionario == model.id_Concesionario select l_usu; mensaje m1 = new mensaje { fecha = DateTime.Now, texto = "Alerta. En la transaccion de compra Nro. " + op_add_transaccion.id_compra + " realizada por el usuario" + u1.Nombre + " " + u1.Apellido + ", paso el limite del precio estimado en el articulo: " + model.Modelo + " - " + model.Año, titulo = "Limite del valor estimado sobrepasado" }; var op_add_mensaje = autodb.mensaje.Add(m1); foreach (var usuario_item in usu_gerente) { usuario_tiene_mensaje usu_mensaje = new usuario_tiene_mensaje { fk_mensaje = op_add_mensaje.id_mensaje, fk_usuario = usuario_item.id_usuario, chequeado = 0 }; autodb.usuario_tiene_mensaje.Add(usu_mensaje); } } try { autodb.SaveChanges(); MensajeViewModels m1 = new MensajeViewModels { Titulo = "Transacción Completada", Cuerpo = "La operacion Nro. " + op_add_transaccion.id_compra + " se a completado con exito. Se ha agregado un Vehiculo: " + model.Nombre + " - " + model.Año + ", Color: " + op_add_vehiculo.color + " y Estado: " + model.Estado_Vehiculo + "% en la lista de compra.", Tipo_Modal = "modal-success" }; this.Session["Mensaje"] = m1; return(RedirectToAction("BusquedaPorModelo", "Compra", new { react = "Transaccion-Completada" })); }catch (Exception e) { SelectList lista = LlenarColores(); model.Lista_Colores = lista; ModelState.AddModelError("", "Error: " + e); return(View(model)); } }