Пример #1
0
        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));
        }
Пример #2
0
        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" }));
            }
        }
Пример #3
0
        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));
            }
        }