//public decimal GetTotal()
        //{
        //  ShoppingCartId = GetCartId();
        //  // Multiply product price by quantity of that product to get
        //  // the current price for each of those products in the cart.
        //  // Sum all product price totals to get the cart total.
        //  decimal? total = decimal.Zero;
        //  total = (decimal?)(from cartItems in _db.CartItems
        //                     where cartItems.CartId == ShoppingCartId
        //                     select (int?)cartItems.Quantity *
        //                     cartItems.Product.unitPrice).Sum();
        //  return total ?? decimal.Zero;
        //}

        public decimal GetTotal()
        {
            ShoppingCartId = GetCartId();
            decimal?items = 0;
            var     cart  = _db.CartItems.FirstOrDefault(c => c.CartId == ShoppingCartId);

            using (var db = new TechEntities())
            {
                List <CartItem> myCart = GetCartItems();
                foreach (var cartItem in myCart)
                {
                    // Iterate through all rows within shopping cart list
                    items = (decimal?)(from cartItems in _db.CartItems
                                       where cartItems.CartId == ShoppingCartId
                                       select(int?) cartItems.Quantity *
                                       cartItems.Product.unitPrice).Sum();
                    if (cart != null)
                    {
                        cart.Subtotal = items;
                    }
                    _db.SaveChanges();
                }
                //if (cart != null)
                //{
                //    cart.Subtotal = items;
                //}
                // _db.SaveChanges();
            }


            return(items ?? decimal.Zero);
        }
 public void UpdateShoppingCartDatabase(String cartId, ShoppingCartUpdates[] CartItemUpdates)
 {
     using (var db = new TechEntities())
     {
         try
         {
             int             CartItemCount = CartItemUpdates.Count();
             List <CartItem> myCart        = GetCartItems();
             foreach (var cartItem in myCart)
             {
                 // Iterate through all rows within shopping cart list
                 for (int i = 0; i < CartItemCount; i++)
                 {
                     if (cartItem.Product.productId == CartItemUpdates[i].ProductId)
                     {
                         if (CartItemUpdates[i].PurchaseQuantity < 1 || CartItemUpdates[i].RemoveItem == true)
                         {
                             RemoveItem(cartId, cartItem.ProductId);
                         }
                         else
                         {
                             UpdateItem(cartId, cartItem.ProductId, CartItemUpdates[i].PurchaseQuantity);
                         }
                     }
                 }
             }
         }
         catch (Exception exp)
         {
             throw new Exception("ERROR: Unable to Update Cart Database - " + exp.Message.ToString(), exp);
         }
     }
 }
 public void Dispose()
 {
     if (_db != null)
     {
         _db.Dispose();
         _db = null;
     }
 }
示例#4
0
        public bool AddProduct(string ProductName, string ProductDesc, string ProductPrice, string ProductImagePath)
        {
            var myProduct = new Product();

            myProduct.productName        = ProductName;
            myProduct.productDescription = ProductDesc;
            myProduct.unitPrice          = Convert.ToDecimal(ProductPrice);
            myProduct.imageURL           = ProductImagePath;
            //myProduct.CategoryID = Convert.ToInt32(ProductCategory);

            using (TechEntities _db = new TechEntities())
            {
                // Add product to DB.
                _db.Products.Add(myProduct);
                _db.SaveChanges();
            }
            // Success.
            return(true);
        }
        public HttpResponseMessage AddUser(UserViewModel users)
        {
            Response response = new Response();

            try
            {
                using (var dbContext = new TechEntities())
                {
                    var Req = dbContext.Users.FirstOrDefault(x => x.UserName == users.UserName);
                    if (Req == null)
                    {
                        var objuser = new User
                        {
                            UserName    = users.UserName,
                            UserId      = users.UserId,
                            GroupId     = users.GroupId,
                            UserStatus  = users.UserStatus,
                            CreatedDate = DateTime.Now
                        };
                        dbContext.Users.Add(objuser);
                        dbContext.SaveChanges();
                        var NewRecord = dbContext.Users.FirstOrDefault(x => x.UserName == users.UserName);
                        response.success = true;
                        response.result  = NewRecord;
                        response.message = "User added successfully ";
                    }
                    else
                    {
                        response.success = false;
                        response.message = "User already exist";
                    }
                }
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
                response.success = false;
                response.message = "User adding failed, Please contact your administrator";
            }
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage GetGroup()
        {
            HttpResponseMessage httpresponse = new HttpResponseMessage();
            Response            response     = new Response();

            try
            {
                using (var dbContext = new TechEntities())
                {
                    response.result  = (from c in dbContext.Groups where c.GroupStatus == true select new { GroupId = c.GroupId, GroupName = c.GroupName }).ToList();
                    response.success = true;
                }
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
                response.success = false;
                response.message = "Group get failed, Please contact your administrator";
            }
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage AddGroup(GroupViewModel groups)
        {
            HttpResponseMessage httpresponse = new HttpResponseMessage();
            Response            response     = new Response();

            try
            {
                using (var dbContext = new TechEntities())
                {
                    var Req = dbContext.Groups.FirstOrDefault(x => x.GroupName == groups.GroupName);
                    if (Req == null)
                    {
                        var objGroup = new Group {
                            GroupId     = groups.GroupId,
                            GroupName   = groups.GroupName,
                            GroupStatus = groups.GroupStatus
                        };
                        dbContext.Groups.Add(objGroup);
                        dbContext.SaveChanges();
                        var NewRecord = dbContext.Groups.FirstOrDefault(x => x.GroupName == groups.GroupName);
                        response.success = true;
                        response.result  = NewRecord;
                        response.message = "Group added successfully ";
                    }
                    else
                    {
                        response.success = false;
                        response.message = "Group already exist";
                    }
                }
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
                response.success = false;
                response.message = "Group adding failed, Please contact your administrator";
            }
            return(httpresponse);
        }
        public DataTableResponse Employee(DataTableRequest request)
        {
            int recordsTotal = 0;
            HttpResponseMessage httpresponse = new HttpResponseMessage();
            var lstUser    = new List <UserDetail>();
            var lstTopUser = new List <UserDetail>();

            try
            {
                /// var searchValue = Request.Form.GetValues("search[value]").FirstOrDefault();


                //Paging Size (10,20,50,100)
                int pageSize = request.Length;
                int skip     = request.Start;


                // Getting all Customer data


                //Sorting
                //if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
                //{
                // customerData = lstUser.OrderBy(sortColumn + " " + sortColumnDir);
                //}
                //Search
                if (!string.IsNullOrEmpty(request.Search.Value))
                {
                    var searchText = request.Search.Value.Trim();
                    using (var dbContext = new TechEntities())
                    {
                        lstUser = (from c in dbContext.Users
                                   where c.UserName.Contains(searchText) || c.Group.GroupName.Contains(searchText)
                                   select new UserDetail
                        {
                            UserId = c.UserId,
                            UserName = c.UserName,
                            groupname = c.Group.GroupName,
                            GroupId = c.GroupId,
                            UserStatus = c.UserStatus,
                            CreatedDate = c.CreatedDate,
                            UpdatedDate = c.UpdatedDate
                        }).ToList();
                    }
                }
                else
                {
                    using (var dbContext = new TechEntities())
                    {
                        lstUser = (from c in dbContext.Users
                                   select new UserDetail
                        {
                            UserId = c.UserId,
                            UserName = c.UserName,
                            groupname = c.Group.GroupName,
                            GroupId = c.GroupId,
                            UserStatus = c.UserStatus,
                            CreatedDate = c.CreatedDate,
                            UpdatedDate = c.UpdatedDate
                        }).ToList();
                    }
                }
                recordsTotal = lstUser.Count();
                //Paging
                lstTopUser = lstUser.Skip(skip).Take(pageSize).ToList();
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
            }
            return(new DataTableResponse
            {
                draw = request.Draw,
                recordsTotal = recordsTotal,
                recordsFiltered = recordsTotal,
                data = lstTopUser,
                error = ""
            });
            ///return Request.CreateResponse(HttpStatusCode.OK, new { draw = request.Draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = lstTopUser });
        }
示例#9
0
        public ActionResult GetUsers()
        {
            var lstUser = new List <UserDetail>();

            try
            {
                //Do To
                var draw        = Request.Form.GetValues("draw").FirstOrDefault();
                var start       = Request.Form.GetValues("start").FirstOrDefault();
                var length      = Request.Form.GetValues("length").FirstOrDefault();
                var searchValue = Request.Form.GetValues("search[value]").FirstOrDefault();


                //Paging Size (10,20,50,100)
                int pageSize = length != null?Convert.ToInt32(length) : 0;

                int skip = start != null?Convert.ToInt32(start) : 0;

                int recordsTotal = 0;

                // Getting all Customer data
                //Search options
                if (!string.IsNullOrEmpty(searchValue))
                {
                    using (var dbContext = new TechEntities())
                    {
                        lstUser = (from c in dbContext.Users
                                   where c.UserName.Contains(searchValue) || c.Group.GroupName.Contains(searchValue)
                                   select new UserDetail
                        {
                            UserId = c.UserId,
                            UserName = c.UserName,
                            groupname = c.Group.GroupName,
                            GroupId = c.GroupId,
                            UserStatus = c.UserStatus,
                            CreatedDate = c.CreatedDate,
                            UpdatedDate = c.UpdatedDate
                        }).ToList();
                    }
                }
                else
                {
                    using (var dbContext = new TechEntities())
                    {
                        lstUser = (from c in dbContext.Users
                                   select new UserDetail
                        {
                            UserId = c.UserId,
                            UserName = c.UserName,
                            groupname = c.Group.GroupName,
                            GroupId = c.GroupId,
                            UserStatus = c.UserStatus,
                            CreatedDate = c.CreatedDate,
                            UpdatedDate = c.UpdatedDate
                        }).ToList();
                    }
                }
                recordsTotal = lstUser.Count();
                //Paging
                var data = lstUser.Skip(skip).Take(pageSize).ToList();
                return(Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }));
            }
            catch (Exception)
            {
                throw;
            }
        }