示例#1
0
        public ActionResult Login(FirstREST.Models.User objUser)
        {
            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var obj = db.Users.Where(a => a.Username.Equals(objUser.Username) && a.Password.Equals(objUser.Password)).FirstOrDefault();
                    if (obj != null)
                    {
                        Response.Cookies["UserID"].Value   = obj.Id.ToString();
                        Response.Cookies["Username"].Value = obj.Username.ToString();
                        Response.Cookies["Client"].Value   = obj.Client_Name.ToString();
                        ViewBag.errorMessage = null;

                        string url = "http://localhost:49822/home/";
                        return(Redirect(url));
                    }
                    else
                    {
                        ViewBag.errorMessage = "Wrong Username or Password. Try again.";

                        return(View());
                    }
                }
            }
            return(View(objUser));
        }
        public ActionResult UpdateCart(FirstREST.Models.ShoppingCart item)
        {
            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var obj = db.ShoppingCarts.Where(a => a.Id.Equals(item.Id)).FirstOrDefault();

                    if (obj.ArmazemArtigo != item.ArmazemArtigo)
                    {
                        var new_obj = db.ShoppingCarts.Where(a => a.IdUser.Equals(obj.IdUser) && a.ArmazemArtigo.Equals(item.ArmazemArtigo) && a.CodArtigo.Equals(obj.CodArtigo)).FirstOrDefault();

                        if (new_obj != null)
                        {
                            new_obj.QuantidadeArtigo = new_obj.QuantidadeArtigo + item.QuantidadeArtigo;
                        }
                        else
                        {
                            new_obj = item;
                        }
                        AddtoCart(new_obj);
                        db.ShoppingCarts.Remove(obj);
                    }
                    else
                    {
                        obj.QuantidadeArtigo = item.QuantidadeArtigo;
                    }

                    db.SaveChanges();
                }
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult AddtoCart(FirstREST.Models.ShoppingCart item)
        {
            if (Request.Cookies["UserID"] == null)
            {
                return(Redirect("http://localhost:49822/account/login/"));
            }

            item.IdUser = Int32.Parse(Request.Cookies["UserID"].Value.ToString());

            FirstREST.Lib_Primavera.Model.Artigo art = FirstREST.Lib_Primavera.PriIntegration.GetArtigo(item.CodArtigo);
            using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
            {
                var obj = db.ShoppingCarts.Where(a => a.IdUser.Equals(item.IdUser) && a.ArmazemArtigo.Equals(item.ArmazemArtigo) && a.CodArtigo.Equals(item.CodArtigo)).FirstOrDefault();
                if (obj == null)
                {
                    var new_item = new FirstREST.Models.ShoppingCart {
                        IdUser = item.IdUser, CodArtigo = item.CodArtigo, DescArtigo = item.DescArtigo, ArmazemArtigo = item.ArmazemArtigo, QuantidadeArtigo = item.QuantidadeArtigo, PrecoArtigo = item.PrecoArtigo
                    };
                    db.ShoppingCarts.Add(new_item);
                }
                else
                {
                    obj.QuantidadeArtigo = obj.QuantidadeArtigo + item.QuantidadeArtigo;
                }
                db.SaveChanges();
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult AddDefaultToCart(FirstREST.Lib_Primavera.Model.Artigo artigo)
        {
            if (Request.Cookies["UserID"] == null)
            {
                return(Redirect("http://localhost:49822/account/login/"));
            }

            FirstREST.Lib_Primavera.Model.Artigo art = FirstREST.Lib_Primavera.PriIntegration.GetArtigo(artigo.CodArtigo);

            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    int userId = Int32.Parse(Request.Cookies["UserID"].Value.ToString());

                    var obj = db.ShoppingCarts.Where(a => a.IdUser.Equals(userId) && a.ArmazemArtigo.Equals(art.armSugestaoArtigo.descArmazens) && a.CodArtigo.Equals(art.CodArtigo)).FirstOrDefault();
                    if (obj == null)
                    {
                        var new_item = new FirstREST.Models.ShoppingCart {
                            IdUser = userId, CodArtigo = artigo.CodArtigo, DescArtigo = art.DescArtigo, ArmazemArtigo = art.armSugestaoArtigo.descArmazens, QuantidadeArtigo = 1, PrecoArtigo = art.precomIvaArtigo
                        };
                        db.ShoppingCarts.Add(new_item);
                    }
                    else
                    {
                        int updatedQuantity = obj.QuantidadeArtigo + 1;
                        obj.QuantidadeArtigo = updatedQuantity;
                    }
                    db.SaveChanges();
                }
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
示例#5
0
        public ActionResult displayShoppingCart(string id)
        {
            if (Request.Cookies["Client"] == null)
            {
                return(Redirect("http://localhost:49822/account/login/"));
            }

            if (Request.Cookies["UserID"].Value.ToString() != id)
            {
                string url = "http://localhost:49822/clientes/paginacliente/" + Request.Cookies["Client"].Value.ToString() + "/";
                return(Redirect(url));
            }

            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    List <FirstREST.Models.ShoppingCart> list = new List <Models.ShoppingCart>();
                    List <Artigo> list_artigos = new List <Artigo>();
                    int           parseId      = Int32.Parse(id);
                    var           obj          = db.ShoppingCarts.Where(a => a.IdUser.Equals(parseId)).ToList();

                    for (int i = 0; i < obj.Count; i++)
                    {
                        list_artigos.Add(Lib_Primavera.PriIntegration.GetArtigo(obj[i].CodArtigo));
                        list.Add(obj[i]);
                    }
                    ViewBag.shoppingCart = list;
                    ViewBag.idUser       = id;
                    ViewBag.artigos      = list_artigos;
                    ViewBag.scFinal      = getShoppingCart(parseId);
                }
            }
            return(View());
        }
示例#6
0
        public List <FirstREST.Models.ShoppingCart> getShoppingCart(int idUser)
        {
            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var ret = db.ShoppingCarts.Where(a => a.IdUser.Equals(idUser)).ToList();
                    return(ret);
                }
            }

            return(null);
        }
        public ActionResult RemoveFromCart(FirstREST.Models.ShoppingCart item)
        {
            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var obj = db.ShoppingCarts.Where(a => a.Id.Equals(item.Id)).FirstOrDefault();
                    db.ShoppingCarts.Remove(obj);

                    db.SaveChanges();
                }
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
        public ActionResult FinishOrder()
        {
            int idUser = Int32.Parse(Request.Cookies["UserID"].Value.ToString());
            List <FirstREST.Models.ShoppingCart> orders = new List <Models.ShoppingCart>();

            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    orders = db.ShoppingCarts.Where(a => a.IdUser.Equals(idUser)).ToList();

                    foreach (var product in db.ShoppingCarts)
                    {
                        if (product.IdUser == idUser)
                        {
                            db.ShoppingCarts.Remove(product);
                        }
                    }

                    db.SaveChanges();
                }
            }

            FirstREST.Lib_Primavera.Model.DocVenda new_doc = new Lib_Primavera.Model.DocVenda();
            new_doc.Entidade = Request.Cookies["Client"].Value.ToString();
            new_doc.Serie    = "2017";

            List <FirstREST.Lib_Primavera.Model.LinhaDocVenda> linhas = new List <FirstREST.Lib_Primavera.Model.LinhaDocVenda>();

            foreach (var item in orders)
            {
                FirstREST.Lib_Primavera.Model.LinhaDocVenda linha = new Lib_Primavera.Model.LinhaDocVenda();
                linha.IdCabecDoc    = new_doc.id;
                linha.CodArtigo     = item.CodArtigo;
                linha.DescArtigo    = item.DescArtigo;
                linha.Quantidade    = item.QuantidadeArtigo;
                linha.PrecoUnitario = item.PrecoArtigo;
                linha.TotalILiquido = item.QuantidadeArtigo * item.PrecoArtigo;

                linhas.Add(linha);
            }

            new_doc.LinhasDoc = linhas;
            FirstREST.Lib_Primavera.PriIntegration.Encomendas_New(new_doc);

            return(Redirect(Request.UrlReferrer.ToString()));
        }
示例#9
0
        public ActionResult AtualizaCliente(FormCollection form)
        {
            string client = Request.Cookies["Client"].Value.ToString();
            string old_pw = form["old-password"];
            string new_pw = form["new-password"];

            if (new_pw != "" && old_pw != "")
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var obj = db.Users.Where(a => a.Client_Name.Equals(client)).FirstOrDefault();
                    if (obj.Password != old_pw)
                    {
                        Response.Cookies["error"].Value = "A palavra passe antiga está incorreta";
                        return(Redirect("http://localhost:49822/clientes/paginacliente/" + client + "/"));
                    }
                    else
                    {
                        obj.Password = new_pw;
                        db.SaveChanges();
                    }
                }
            }

            Lib_Primavera.Model.Cliente temp_cli = Lib_Primavera.PriIntegration.GetCliente(client);

            if (form["telefone"] != "")
            {
                temp_cli.Telefone = form["telefone"];
            }

            if (form["morada"] != "")
            {
                temp_cli.Morada = form["morada"];
            }

            if (form["email"] != "")
            {
                temp_cli.Email = form["email"];
            }

            Lib_Primavera.PriIntegration.UpdCliente(temp_cli);
            return(Redirect("http://localhost:49822/clientes/paginacliente/" + client + "/"));
        }
示例#10
0
        public ActionResult Register(FormCollection form)
        {
            string full_name = form["full_name"];
            string abrev     = form["abrev"];
            string username  = form["username"];
            string address   = form["address"];
            string password  = form["password"];
            string nif       = form["nif"];
            string phone     = form["phone"];
            string email     = form["email"];

            FirstREST.Lib_Primavera.Model.Cliente new_cli = new Lib_Primavera.Model.Cliente();
            new_cli.CodCliente      = abrev;
            new_cli.NomeCliente     = full_name;
            new_cli.Morada          = address;
            new_cli.NumContribuinte = nif;
            new_cli.Telefone        = phone;
            new_cli.Email           = email;
            new_cli.Moeda           = "EUR";


            FirstREST.Models.User new_user = new Models.User {
                Username = username, Password = password, Client_Name = abrev
            };
            if (ModelState.IsValid)
            {
                using (FirstREST.Models.online_storeEntities db = new FirstREST.Models.online_storeEntities())
                {
                    var obj = db.Users.Where(a => a.Username.Equals(username) || a.Client_Name.Equals(abrev)).FirstOrDefault();
                    if (obj != null)
                    {
                        ViewBag.errorMessage = "Nome de utilizador ou nome abreviado já existentes";
                        System.Diagnostics.Debug.WriteLine("EXISTENTE");
                        return(Register());
                    }
                    FirstREST.Lib_Primavera.PriIntegration.InsereClienteObj(new_cli);
                    db.Users.Add(new_user);

                    db.SaveChanges();
                }
            }
            return(Login(new_user));
        }