Ejemplo n.º 1
0
        public virtual ActionResult StatusResponse()
        {
            try
            {
                var viewModel = ConstructPaymentResponseModel();
                var log = ConstructLogPayment(viewModel);
                var salesOrderID = int.Parse(log.RefNo);
                var pendingStatusID = Util.GetStatusID(Status.Pending.ToString());                

                using (var context = new TTTEntities())
                {
                    context.logpayments.Add(log);
                    context.SaveChanges();

                    var salesOrder = context.trnsalesorders
                        .Include(a => a.refstatu)
                        .SingleOrDefault(a => a.ID == salesOrderID);

                    if (salesOrder == null)
                        throw new ApplicationException("Order not found.");
                    if (salesOrder.refstatu.Name != Status.Open.ToString())
                        throw new ApplicationException("Invalid order status.");

                    if (log.Status == Settings.Default.iPay88_Status_Success)
                    {
                        salesOrder.StatusID = pendingStatusID;
                        salesOrder.PaymentGatewayTransID = log.TransId;
                        salesOrder.UpdateDT = DateTime.Now;
                        context.SaveChanges();

                        var soItems =
                            context.lnksalesorders
                                .Where(a => a.Active && a.SalesOrderID == salesOrderID && a.ModelSizeID.HasValue)
                                .ToList();

                        foreach (var item in soItems)
                        {
                            var modelSize = context.lnkmodelsizes.Single(a => a.ID == item.ModelSizeID.Value);
                            modelSize.Quantity -= item.Quantity;
                        }

                        context.SaveChanges();

                        return RedirectToAction(MVC.Checkout.Success(salesOrderID));
                    }
                    else
                    {
                        var errMsg = string.Format("Payment failed for Sales Order ID:{0}. Error Description: {1}", 
                            salesOrderID, log.ErrDesc);

                        throw new ApplicationException(errMsg);
                    }
                }
            }
            catch (Exception ex)
            {
                LogException(ex);
                return RedirectException(ex);
            }            
        }
Ejemplo n.º 2
0
        public virtual ActionResult Index(ColourPriorityViewModel viewModel, FormCollection collection)
        {
            using (var context = new TTTEntities())
            {
                var Colours = context.refcolours.Where(a => a.Active).ToList();

                //var ColourPriorities = context.lnkcolourpriorities.Where(a => a.ColourID).SingleOrDefault();

                foreach (var Colour in Colours)
                {
                    var ColourPriority = context.lnkcolourpriorities.Where(a => a.ColourID == Colour.ID).SingleOrDefault();

                    if (collection[string.Format("txt_{0}", Colour.ID)].ToString() != "")
                    {
                        if (ColourPriority != null)
                            ColourPriority.Sequence = Convert.ToInt16(collection[string.Format("txt_{0}", Colour.ID)]);
                        else
                            context.lnkcolourpriorities.Add(new lnkcolourpriority()
                            {
                                Active = true,
                                CreateDT = DateTime.Now,
                                ColourID = Colour.ID,
                                Sequence = Convert.ToInt16(collection[string.Format("txt_{0}", Colour.ID)])
                            });
                    }
                    else
                    {
                        if (ColourPriority != null)
                            context.lnkcolourpriorities.Remove(ColourPriority);
                    }
                }

                context.SaveChanges();
            }

            return RedirectToAction("Index");
        }
Ejemplo n.º 3
0
        public virtual ActionResult Edit(MyAccountEditViewModel viewModel)
        {
            if (!ModelState.IsValid)
                return View(viewModel);

            using (var trans = new TransactionScope())
            {
                using (var context = new TTTEntities())
                {
                    var access = context.tblaccesses.Single(a => a.ID == viewModel.AccessID);                    

                    access.Email = viewModel.Email; //TODO: Validation on existing email

                    if (!string.IsNullOrEmpty(viewModel.Password) && !viewModel.IsFBLogin)
                        access.Password = Util.GetMD5Hash(viewModel.Password);
                    access.FirstName = viewModel.FirstName;
                    access.LastName = viewModel.LastName;
                    access.BirthDateDay = viewModel.BirthDateDay;
                    access.BirthDateMonth = viewModel.BirthDateMonth;
                    access.BirthDateYear = viewModel.BirthDateYear;
                    access.Gender = viewModel.Gender.HasValue ? viewModel.Gender.Value.ToString() : null;
                    access.Phone = viewModel.Phone;

                    context.SaveChanges();

                    Util.SessionAccess = access;

                    EditAddresses(viewModel, context);

                    context.SaveChanges();
                }

                trans.Complete();
            }

            return RedirectToAction(MVC.MyAccount.Index());
        }
Ejemplo n.º 4
0
        public virtual ActionResult Details(ModelDetailsViewModel viewModel, FormCollection collection)
        {
            try
            {
                if (collection["submit"].ToString() == "+ ADD TO BAG")
                {
                    ConstructShoppingBagCookie();

                    #region Add to Cart

                    var salesOrder = new trnsalesorder();

                    using (var context = new TTTEntities())
                    {
                        var query = from modelSize in context.lnkmodelsizes
                                    join model in context.refmodels on modelSize.ModelID equals model.ID
                                    select new { ModelSizeID = modelSize.ID, Model = model };

                        var modelDetails = query.Where(a => a.ModelSizeID == viewModel.ModelSizeID).Single();

                        var discountPrice = modelDetails.Model.DiscountPrice.HasValue ? modelDetails.Model.DiscountPrice.Value : 0;

                        var modelPrice = discountPrice != 0 ? modelDetails.Model.DiscountPrice.Value : modelDetails.Model.Price;

                        var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; ;

                        if (!string.IsNullOrEmpty(customerEmail)) // login customer
                        {
                            var openStatusID = Util.GetStatusID(Status.Open.ToString());

                            salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault();

                            using (var trans = new TransactionScope())
                            {
                                if (salesOrder == null)
                                {
                                    salesOrder = context.trnsalesorders.Add(new trnsalesorder()
                                    {
                                        StatusID = openStatusID,
                                        Email = customerEmail,
                                        SubTotal = 0,
                                        GrandTotal = modelPrice,
                                        CreateDT = DateTime.Now
                                    });
                                    context.SaveChanges();

                                    AddSalesOrderItem(salesOrder.ID, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context);
                                }
                                else
                                {
                                    // update sales order grand total
                                    salesOrder.GrandTotal += modelPrice;

                                    var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID &&
                                                                                    a.ModelSizeID == viewModel.ModelSizeID).SingleOrDefault();
                                    if (soItem == null)
                                    {
                                        salesOrder.UpdateDT = DateTime.Now;

                                        AddSalesOrderItem(salesOrder.ID, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context);
                                    }
                                    else
                                    {
                                        soItem.Active = true;
                                        soItem.UpdateDT = DateTime.Now;
                                    }
                                }

                                context.SaveChanges();
                                trans.Complete();
                            }
                        }
                        else
                        {
                            ConstructShoppingBagCookie();

                            var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null &&
                                                                            a.ModelSizeID == viewModel.ModelSizeID &&
                                                                            a.CookieID == cookieID).SingleOrDefault();
                            if (soItem == null)
                            {
                                AddSalesOrderItem(null, viewModel.ModelSizeID, viewModel.SKU, modelPrice, context);
                            }
                            else
                            {
                                soItem.Active = true;
                                soItem.UpdateDT = DateTime.Now;
                            }

                            context.SaveChanges();
                        }
                    }

                    #endregion
                }
                else if (collection["submit"].ToString() == "+ ADD TO WISH LIST")
                {
                    #region Add to Wishlist

                    if (!Request.IsAuthenticated)
                    {
                        return RedirectToAction(MVC.SignIn.Index(Url.Action("Details", new { modelID = viewModel.ModelID, colourDescID = viewModel.ColourDescID })));
                    }

                    AddToWishList(viewModel);

                    #endregion
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return RedirectToAction("Details", new { modelID = viewModel.ModelID, colourDescID = viewModel.ColourDescID });
        }
Ejemplo n.º 5
0
        public virtual ActionResult Create(BrandModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var newRecord = new refbrand
                {
                    Active = viewModel.Active,
                    Name = viewModel.Name,
                    CreateDT = DateTime.Now,
                    CategoryID = viewModel.CategoryID
                };

                context.refbrands.Add(newRecord);
                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.Brand.Index());
        }
Ejemplo n.º 6
0
        public virtual ActionResult Update(OrderStatusViewModel viewModel)
        {
            var updateModel = viewModel.UpdateModel;

            using (var context = new TTTEntities())
            {
                var salesOrder = context.trnsalesorders
                    .Include(a => a.refstatu)
                    .Single(a => a.ID == updateModel.SalesOrderID);
                var status = salesOrder.refstatu.Name;
                var processingStatus = Status.Processing.ToString();
                var deliveryStatus = Status.Delivery.ToString();
                var closedStatus = Status.Closed.ToString();

                if (status == Status.Pending.ToString())
                {
                    salesOrder.StatusID = context.refstatus.Single(a => a.Name == processingStatus && a.Active).ID;
                }
                else if (status == processingStatus)
                {
                    salesOrder.StatusID = context.refstatus.Single(a => a.Name == deliveryStatus && a.Active).ID;
                    salesOrder.DeliveryDT = updateModel.DeliveryDT;
                }
                else if (status == deliveryStatus)
                {
                    salesOrder.StatusID = context.refstatus.Single(a => a.Name == closedStatus && a.Active).ID;
                    salesOrder.DeliveryDT = updateModel.DeliveryDT;
                }

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.OrderStatus.Index());
        }
Ejemplo n.º 7
0
        public virtual ActionResult Edit(CategoryModel viewModel, HttpPostedFileBase file)
        {
            ValidateIsAdmin();

            SaveImage(viewModel, file);

            using (var context = new TTTEntities())
            {
                var record = context.refcategories.Single(a => a.ID == viewModel.ID);

                record.Name = viewModel.Name;
                record.Active = viewModel.Active;
                record.Type = viewModel.Type;

                if (!string.IsNullOrEmpty(viewModel.Image))
                    record.Image = viewModel.Image;

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.Category.Index());
        }
Ejemplo n.º 8
0
        public virtual ActionResult Create(MaintainModelViewModel viewModel)
        {
            try
            {
                var modelColourDesc = new lnkmodelcolourdesc();

                using (var trans = new TransactionScope())
                {
                    using (var context = new TTTEntities())
                    {
                        var brandID = context.refbrands.Where(a => a.Name == viewModel.BrandName && a.CategoryID == viewModel.CategoryID).Single().ID;

                        // Model details**********************************************************************************

                        var model = new refmodel();
                        if (!string.IsNullOrEmpty(viewModel.NewModelName))
                        {
                            model = new refmodel()
                            {
                                BrandID = brandID,
                                Price = viewModel.Price,
                                DiscountPrice = viewModel.DiscountPrice,
                                CreateDT = DateTime.Now,
                                Active = true,
                                Gender = "Female",
                                Name = viewModel.NewModelName,
                                Description = "-"
                            };

                            context.refmodels.Add(model);
                            context.SaveChanges();
                        }
                        else
                        {
                            model = context.refmodels.Where(a => a.ID == viewModel.ModelID).Single();
                        }

                        //***************************************************************************************************

                        // Model colour description details******************************************************************

                        modelColourDesc = new lnkmodelcolourdesc()
                        {
                            ModelID = model.ID,
                            ColourDescID = viewModel.ColourDescID,
                            Active = viewModel.Active,
                            SKU = viewModel.SKU,
                            HeelHeight = viewModel.HeelHeight,
                            Style = viewModel.Style,
                            Description = viewModel.Description,
                            LiningSock = viewModel.LiningSock,
                            Sole = viewModel.Sole,
                            Make = viewModel.Make,
                            UpperMaterial = viewModel.UpperMaterial,
                            HeelDesc = viewModel.HeelDesc,
                            CreateDT = DateTime.Now
                        };

                        context.lnkmodelcolourdescs.Add(modelColourDesc);
                        context.SaveChanges();

                        // ****************************************************************************************************

                        // Model lifestyle************************************************************
                        var selectedLifestyleIDs = viewModel.SelectedLifestyleIDText.Replace(",,", ",").Split(',').Select(int.Parse).ToList();
                        var selectedLifeStyles = context.reflifestyles.Where(a => selectedLifestyleIDs.Contains(a.ID)).ToList();

                        foreach (var lifeStyle in selectedLifeStyles)
                        {
                            context.lnkmodellifestyles.Add(new lnkmodellifestyle()
                            {
                                ColourDescID = viewModel.ColourDescID,
                                ModelID = model.ID,
                                Active = true,
                                CreateDT = DateTime.Now,
                                LifeStyleID = lifeStyle.ID,
                            });
                        }
                        //********************************************************************************

                        // Model trend********************************************************************************
                        var selectedTrendIDs = viewModel.SelectedTrendIDText.Replace(",,", ",").Split(',').Select(int.Parse).ToList();
                        var selectedTrends = context.reftrends.Where(a => selectedTrendIDs.Contains(a.ID)).ToList();

                        foreach (var trend in selectedTrends)
                        {
                            context.lnkmodeltrends.Add(new lnkmodeltrend()
                            {
                                ColourDescID = viewModel.ColourDescID,
                                ModelID = model.ID,
                                Active = true,
                                CreateDT = DateTime.Now,
                                TrendID = trend.ID,
                            });
                        }
                        // ************************************************************************************************

                        context.SaveChanges();
                    }

                    trans.Complete();
                }

                return RedirectToAction("Edit", new { id = modelColourDesc.ID });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 9
0
        public virtual ActionResult Size(ModelSizeViewModel viewModel, FormCollection collection)
        {
            using (var trans = new TransactionScope())
            {
                using (var context = new TTTEntities())
                {
                    var modelSizes = context.lnkmodelsizes
                                           .Where(a => a.ModelID == viewModel.ModelID && a.ColourDescID == viewModel.ColourDescID)
                                           .ToList();

                    var beginSize = Convert.ToInt16((Properties.Settings.Default.InitialSize.Split(',')[0]).Split('|')[0]);
                    var sizeRange = Convert.ToInt16((Properties.Settings.Default.InitialSize.Split(',')[1]));

                    for (var i = beginSize; i <= beginSize + sizeRange; i++)
                    {
                        var modelSize = modelSizes.Where(a => a.Size == i.ToString()).SingleOrDefault();

                        if (modelSize == null)
                        {
                            context.lnkmodelsizes.Add(new lnkmodelsize()
                            {
                                ModelID = viewModel.ModelID,
                                ColourDescID = viewModel.ColourDescID,
                                Active = true,
                                CreateDT = DateTime.Now,
                                Size = i.ToString(),
                                Quantity = Convert.ToInt32(collection[string.Format("txt_{0}", i.ToString())])
                            });
                        }
                        else
                        {
                            modelSize.Quantity = Convert.ToInt32(collection[string.Format("txt_{0}", modelSize.Size)]);
                            modelSize.UpdateDT = DateTime.Now;
                        }
                    }

                    context.SaveChanges();
                }

                trans.Complete();
            }

            return RedirectToAction("Edit", new { id = viewModel.ModelColourDescID });
        }
Ejemplo n.º 10
0
        public virtual ActionResult Remove(int soID)
        {
            decimal price = 0;

            using (var context = new TTTEntities())
            {
                var soItem = context.lnksalesorders.Where(a => a.ID == soID).Single();
                soItem.Active = false;
                soItem.UpdateDT = DateTime.Now;

                if (soItem.ModelSizeID.HasValue) // normal model
                {
                    var query = from modelSize in context.lnkmodelsizes
                                join model in context.refmodels on modelSize.ModelID equals model.ID
                                select new { modelSize, model };

                    var soItemModelSize = query.Where(a => a.modelSize.ID == soItem.ModelSizeID).Single();

                    var discountPrice = soItemModelSize.model.DiscountPrice.HasValue ? soItemModelSize.model.DiscountPrice.Value : 0;

                    price = discountPrice != 0 ? soItemModelSize.model.DiscountPrice.Value : soItemModelSize.model.Price;
                }
                else // customize model
                {
                    var query = from customizeModelImage in context.lnkcustomizemodelimages
                                join customizeModel in context.refcustomizemodels on customizeModelImage.CustomizeModelID equals customizeModel.ID
                                select new { customizeModelImage, customizeModel };

                    price = query.Where(a => a.customizeModelImage.SKU == soItem.SKU).Single().customizeModel.Price;
                }

                if (!string.IsNullOrEmpty(Util.GetCustomerEmail()))
                {
                    var so = context.trnsalesorders.Where(a => a.ID == soItem.SalesOrderID).SingleOrDefault();

                    if (so != null)
                    {
                        so.GrandTotal -= soItem.Quantity * price;
                        so.UpdateDT = DateTime.Now;
                    }
                }

                context.SaveChanges();
            }

            return RedirectToAction("Index");
        }
Ejemplo n.º 11
0
        private void CreateUpdateSOItems()
        {
            SetShoppingBagCookie();

            var salesOrderItems = new List<lnksalesorder>();
            var customerEmail = Util.GetCustomerEmail();

            using (var trans = new TransactionScope())
            {
                using (var context = new TTTEntities())
                {
                    var openStatusID = Util.GetStatusID(Status.Open.ToString());
                    var so = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault();

                    salesOrderItems = context.lnksalesorders.Where(a => a.Active && a.CookieID == cookieID).ToList();

                    if (so == null)
                    {
                        so = context.trnsalesorders.Add(new trnsalesorder()
                        {
                            StatusID = openStatusID,
                            Email = customerEmail,
                            SubTotal = 0,
                            GrandTotal = salesOrderItems.Sum(b => b.UnitPrice),
                            CreateDT = DateTime.Now
                        });
                    }

                    foreach (var soItem in salesOrderItems)
                    {
                        soItem.CookieID = "";
                        soItem.SalesOrderID = so.ID;
                        soItem.UpdateDT = DateTime.Now;
                    }

                    context.SaveChanges();
                }
                trans.Complete();
            }
        }
Ejemplo n.º 12
0
        public virtual ActionResult AddToCartNormal(int modelSizeID, string sku)
        {
            try
            {
                ConstructShoppingBagCookie();

                #region Add to Cart

                var salesOrder = new trnsalesorder();

                using (var context = new TTTEntities())
                {
                    var query = from modelSize in context.lnkmodelsizes
                                join model in context.refmodels on modelSize.ModelID equals model.ID
                                select new { ModelSizeID = modelSize.ID, Model = model };

                    var modelDetails = query.Where(a => a.ModelSizeID == modelSizeID).Single();
                    var modelPrice = (modelDetails.Model.DiscountPrice.HasValue && modelDetails.Model.DiscountPrice.Value > 0) ?
                                    modelDetails.Model.DiscountPrice.Value : modelDetails.Model.Price;

                    var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email; ;

                    if (!string.IsNullOrEmpty(customerEmail)) // login customer
                    {
                        var openStatusID = Util.GetStatusID(Status.Open.ToString());

                        salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault();

                        using (var trans = new TransactionScope())
                        {
                            if (salesOrder == null)
                            {
                                salesOrder = context.trnsalesorders.Add(new trnsalesorder()
                                {
                                    StatusID = openStatusID,
                                    Email = customerEmail,
                                    SubTotal = modelPrice,
                                    GrandTotal = modelPrice,
                                    CreateDT = DateTime.Now
                                });
                                context.SaveChanges();

                                AddNormalSalesOrderItem(salesOrder.ID, modelSizeID, sku, modelPrice, context);
                            }
                            else
                            {
                                // update sales order grand total
                                salesOrder.GrandTotal += modelPrice;

                                var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID &&
                                                                                a.ModelSizeID == modelSizeID).FirstOrDefault();
                                if (soItem == null)
                                {
                                    salesOrder.UpdateDT = DateTime.Now;

                                    AddNormalSalesOrderItem(salesOrder.ID, modelSizeID, sku, modelPrice, context);
                                }
                                else
                                {
                                    soItem.Active = true;
                                    soItem.UpdateDT = DateTime.Now;
                                }
                            }

                            context.SaveChanges();
                            trans.Complete();
                        }
                    }
                    else
                    {
                        ConstructShoppingBagCookie();

                        var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null &&
                                                                        a.ModelSizeID == modelSizeID &&
                                                                        a.CookieID == cookieID).FirstOrDefault();
                        if (soItem == null)
                        {
                            AddNormalSalesOrderItem(null, modelSizeID, sku, modelPrice, context);
                        }
                        else
                        {
                            soItem.Active = true;
                            soItem.UpdateDT = DateTime.Now;
                        }

                        context.SaveChanges();
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                throw;
            }

            return RedirectToAction("Index");
        }
Ejemplo n.º 13
0
        public virtual ActionResult AddToCartCustomize(string size, string sku)
        {
            try
            {
                #region Add to Cart

                var salesOrder = new trnsalesorder();

                using (var context = new TTTEntities())
                {
                    var query = from customizeModelImage in context.lnkcustomizemodelimages
                                join customizeModel in context.refcustomizemodels on customizeModelImage.CustomizeModelID equals customizeModel.ID
                                select new { CustomizeModel = customizeModel, CustomizeModelImage = customizeModelImage };

                    var customizeModelDetails = query.Where(a => a.CustomizeModelImage.SKU == sku).Single();

                    var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email;


                    if (!string.IsNullOrEmpty(customerEmail)) // login customer
                    {
                        var openStatusID = Util.GetStatusID(Status.Open.ToString());

                        salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault();

                        using (var trans = new TransactionScope())
                        {
                            if (salesOrder == null)
                            {
                                salesOrder = context.trnsalesorders.Add(new trnsalesorder()
                                {
                                    StatusID = openStatusID,
                                    Email = customerEmail,
                                    SubTotal = customizeModelDetails.CustomizeModel.Price,
                                    GrandTotal = customizeModelDetails.CustomizeModel.Price,
                                    CreateDT = DateTime.Now
                                });
                                context.SaveChanges();

                                AddCustomizeSalesOrderItem(salesOrder.ID, sku, size, customizeModelDetails.CustomizeModel.Price, context);
                            }
                            else
                            {
                                var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID &&
                                                                                a.Size == size &&
                                                                                a.SKU == sku).FirstOrDefault();
                                if (soItem == null)
                                {
                                    salesOrder.GrandTotal += customizeModelDetails.CustomizeModel.Price;
                                    salesOrder.UpdateDT = DateTime.Now;

                                    AddCustomizeSalesOrderItem(salesOrder.ID, sku, size, customizeModelDetails.CustomizeModel.Price, context);
                                }
                                else
                                {
                                    soItem.Active = true;
                                    soItem.UpdateDT = DateTime.Now;
                                }
                            }

                            context.SaveChanges();
                            trans.Complete();
                        }
                    }
                    else // Anonymous user
                    {
                        ConstructShoppingBagCookie();

                        var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null &&
                                                                        a.Size == size && a.SKU == sku &&
                                                                        a.CookieID == cookieID).FirstOrDefault();
                        if (soItem == null)
                        {
                            AddCustomizeSalesOrderItem(null, sku, size, customizeModelDetails.CustomizeModel.Price, context);
                        }
                        else
                        {
                            soItem.Active = true;
                            soItem.UpdateDT = DateTime.Now;
                        }

                        context.SaveChanges();
                    }
                }

                #endregion

            }
            catch (Exception ex)
            {
                throw;
            }
            return RedirectToAction("Index");
        }
Ejemplo n.º 14
0
        public virtual ActionResult Remove(int wishlistItemID)
        {
            using (var context = new TTTEntities())
            {
                var wishlistItem = context.lnkwishlists.Where(a => a.ID == wishlistItemID).Single();

                wishlistItem.Active = false;
                wishlistItem.UpdateDT = DateTime.Now;

                context.SaveChanges();
            }

            return RedirectToAction("Index");
        }
Ejemplo n.º 15
0
        public virtual JsonResult RemoveVoucherCode(string voucherCode, int soID)
        {
            var voucherValue = 0;
            decimal grandTotal = 0;

            using (var context = new TTTEntities())
            {
                // retrieve voucher details
                var voucherDetails = context.tblvouchers.Where(a => a.Code == voucherCode).ToList();

                // retrieve sales order
                var salesOrder = context.trnsalesorders.Where(a => a.ID == soID).Single();

                //// current voucher code
                //if (salesOrder.VoucheID == voucherDetails[0].ID)
                //    return Json(new { voucherValue = voucherDetails[0].Value, grandTotal = salesOrder.GrandTotal, message = message });

                //if (!string.IsNullOrEmpty(voucherCode))
                //{
                //    if (voucherDetails.Count > 1) // voucher code more than one
                //        message = string.Format("Voucher appeared more than once");
                //    else if (voucherDetails.Count == 0) // voucher code not found
                //        message = string.Format("Voucher not found");
                //    else //voucher code found
                //    {
                //        if (!voucherDetails[0].Active) // voucher code 
                //            message = string.Format("Voucher already used");
                //    }
                //}

                if (salesOrder.VoucheID.HasValue)
                {
                    var currentVoucher = context.tblvouchers.Where(a => a.ID == salesOrder.VoucheID).SingleOrDefault();

                    // update voucher as un-used
                    currentVoucher.Active = true;
                    currentVoucher.UpdateDT = DateTime.Now;

                    //update sales order amount
                    salesOrder.VoucheID = null;
                    salesOrder.UpdateDT = DateTime.Now;
                    salesOrder.GrandTotal += currentVoucher.Value;
                }

                //if (string.IsNullOrEmpty(message)) // valid voucher code
                //{
                //    //update sales order amount
                //    salesOrder.VoucheID = voucherDetails[0].ID;
                //    salesOrder.UpdateDT = DateTime.Now;
                //    salesOrder.GrandTotal -= voucherDetails[0].Value;

                //    // update voucher as used
                //    voucherDetails[0].Active = false;
                //    voucherDetails[0].UpdateDT = DateTime.Now;

                //    voucherValue = voucherDetails[0].Value;
                //}

                grandTotal = salesOrder.GrandTotal;

                context.SaveChanges();
            }

            return Json(new { voucherValue = voucherValue, grandTotal = grandTotal });
        }
Ejemplo n.º 16
0
        public virtual ActionResult Shipping(CheckoutShippingViewModel viewModel)
        {
            var access = Util.SessionAccess;

            using (var context = new TTTEntities())
            {
                if (viewModel.SalesOrderAddressID == 0)
                {
                    var salesOrderID = context.trnsalesorders
                        .Include(a => a.refstatu)
                        .Single(a => a.Email == access.Email && a.refstatu.Name == "Open")
                        .ID;

                    var oldAddress = context.lnksoaddresses
                        .Where(a => a.Active && a.IsShipping && a.SalesOrderID == salesOrderID).ToList();
                    oldAddress.ForEach(a => { a.Active = false; a.UpdateDT = DateTime.Now; });

                    context.lnksoaddresses.Add(new lnksoaddress
                    {
                        Active = true,
                        AddressLine1 = viewModel.Address.AddressLine1,
                        AddressLine2 = viewModel.Address.AddressLine2,
                        CityTown = viewModel.Address.CityTown,
                        CountryID = viewModel.Address.CountryID,
                        CreateDT = DateTime.Now,
                        FirstName = viewModel.FirstName,
                        IsShipping = true,
                        LastName = viewModel.LastName,
                        Postcode = viewModel.Address.Postcode,
                        SalesOrderID = salesOrderID,
                        State = viewModel.Address.State,
                        ChooseAddress = viewModel.AddressTypeID,
                        Phone = viewModel.Phone
                    });
                }
                else
                {
                    var salesOrderShippingAddress = context.lnksoaddresses.Single(a => a.ID == viewModel.SalesOrderAddressID);
                    salesOrderShippingAddress.AddressLine1 = viewModel.Address.AddressLine1;
                    salesOrderShippingAddress.AddressLine2 = viewModel.Address.AddressLine2;
                    salesOrderShippingAddress.CityTown = viewModel.Address.CityTown;
                    salesOrderShippingAddress.CountryID = viewModel.Address.CountryID;
                    salesOrderShippingAddress.UpdateDT = DateTime.Now;
                    salesOrderShippingAddress.FirstName = viewModel.FirstName;
                    salesOrderShippingAddress.IsShipping = true;
                    salesOrderShippingAddress.LastName = viewModel.LastName;
                    salesOrderShippingAddress.ChooseAddress = viewModel.AddressTypeID;
                    salesOrderShippingAddress.Postcode = viewModel.Address.Postcode;
                    salesOrderShippingAddress.State = viewModel.Address.State;
                    salesOrderShippingAddress.Phone = viewModel.Phone;
                }

                var addressType = (CheckoutAddressType)viewModel.AddressTypeID;
                if (addressType != CheckoutAddressType.Others)
                {
                    var isPrimary = addressType == CheckoutAddressType.Primary;
                    var accountAddress = context.tbladdresses
                        .FirstOrDefault(a => a.IsPrimary == isPrimary && a.Active && a.AccessID == access.ID);
                    var shippingExist = context.tbladdresses
                        .Any(a => a.Active && a.AccessID == access.ID && a.IsShipping && a.IsPrimary != isPrimary);
                    var isShipping = shippingExist ? false : true;

                    if (accountAddress == null)
                    {
                        accountAddress = new tbladdress
                        {
                            AccessID = access.ID,
                            Active = true,
                            AddressLine1 = viewModel.Address.AddressLine1,
                            AddressLine2 = viewModel.Address.AddressLine2,
                            CityTown = viewModel.Address.CityTown,
                            CountryID = viewModel.Address.CountryID,
                            CreateDT = DateTime.Now,
                            IsShipping = isShipping,
                            IsPrimary = isPrimary,
                            Postcode = viewModel.Address.Postcode,
                            State = viewModel.Address.State
                        };
                        context.tbladdresses.Add(accountAddress);
                    }
                    else
                    {
                        accountAddress.IsShipping = isShipping;
                    }
                }

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Checkout.Summary());
        }
Ejemplo n.º 17
0
        public virtual ActionResult Edit(ColourDescModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var record = context.refcolourdescs.Single(a => a.ID == viewModel.ID);

                record.Name = viewModel.Name;
                record.Active = viewModel.Active;
                record.ColourID = viewModel.ColourID;

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.ColourDesc.Index());
        }
Ejemplo n.º 18
0
        public virtual ActionResult Index(FormCollection collection)
        {
            if (collection["submit"].ToString() == "VIEW WISH LIST")
                return RedirectToAction("Index", "Wishlist");
            else if (collection["submit"].ToString() == "PROCEED TO CHECKOUT")
                return RedirectToAction("Billing", "Checkout");

            // here update SalesOrder
            using (var context = new TTTEntities())
            {
                var customerEmail = Util.GetCustomerEmail();
                var openStatusID = Util.GetStatusID(Status.Open.ToString());
                var openSalesOrder = context.trnsalesorders.Where(a => (a.Email == customerEmail && a.StatusID == openStatusID)).SingleOrDefault();

                var salesItems = GetPendingSOItems(context, null);;

                // update sales order quantity and total amount
                foreach (var item in salesItems)
                {
                    var txtQty = string.Format("qty_{0}",item.ID);
                    //var hdfPrice = string.Format("price_{0}", item.ID);
                    var newQty = Convert.ToInt32(collection[txtQty].ToString());
                    var nowDT = DateTime.Now;

                    // price = price_[soID]
                    if (!(newQty == item.Quantity))
                    {
                        openSalesOrder.GrandTotal -= item.Quantity * item.UnitPrice;

                        item.Quantity = newQty;
                        item.UpdateDT = nowDT;

                        openSalesOrder.GrandTotal += item.Quantity * item.UnitPrice;
                    }
                }

                // update database
                context.SaveChanges();
            }

            return RedirectToAction("Index");
        }
Ejemplo n.º 19
0
        public virtual ActionResult Create(ColourDescModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var newRecord = new refcolourdesc
                {
                    Active = viewModel.Active,
                    Name = viewModel.Name,
                    CreateDT = DateTime.Now,
                    ColourID = viewModel.ColourID
                };

                context.refcolourdescs.Add(newRecord);
                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.ColourDesc.Index());
        }
Ejemplo n.º 20
0
        public void ConstructRecentViewCookie(string imageUrl, string linkUrl)
        {
            try
            {
                var recentViewCookie = GetRecentViewCookie();
                var cookieID = recentViewCookie.Value;

                using (var context = new TTTEntities())
                {
                    if (string.IsNullOrEmpty(cookieID)) // create new cookie
                    {
                        var guid = System.Guid.NewGuid().ToString();

                        context.tblrecentviews.Add(new tblrecentview()
                        {
                            Active = true,
                            CookieID = guid,
                            CreateDT = DateTime.Now,
                            UpdateDT = DateTime.Now,
                            ImageUrl = imageUrl,
                            LinkUrl = linkUrl
                        });

                        recentViewCookie.Value = guid;
                        Response.Cookies.Add(recentViewCookie);
                    }
                    else //cookie create early
                    {
                        // check if item already exist, if yes then update
                        var existingItem = context.tblrecentviews.Where(a => a.CookieID == cookieID &&
                                                                            a.ImageUrl == imageUrl &&
                                                                            a.LinkUrl == linkUrl).SingleOrDefault();
                        if (existingItem != null)
                        {
                            existingItem.UpdateDT = DateTime.Now;
                        }
                        else
                        {
                            var recentItems = context.tblrecentviews.Where(a => a.CookieID == cookieID).ToList();
                            if (recentItems.Count < 5)
                            {
                                context.tblrecentviews.Add(new tblrecentview()
                                {
                                    Active = true,
                                    CookieID = cookieID,
                                    CreateDT = DateTime.Now,
                                    UpdateDT = DateTime.Now,
                                    ImageUrl = imageUrl,
                                    LinkUrl = linkUrl
                                });
                            }
                            else if (recentItems.Count == 5)
                            {
                                var itemToUpdate = context.tblrecentviews.Where(a => a.CookieID == cookieID)
                                                                        .OrderBy(a => a.UpdateDT)
                                                                        .First();

                                itemToUpdate.ImageUrl = imageUrl;
                                itemToUpdate.LinkUrl = linkUrl;
                                itemToUpdate.UpdateDT = DateTime.Now;
                            }
                        }
                    }
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 21
0
        public virtual ActionResult Edit(MaintainModelViewModel viewModel)
        {
            using (var trans = new TransactionScope())
            {
                using (var context = new TTTEntities())
                {
                    var model = context.refmodels.Where(a => a.ID == viewModel.ModelID).Single();
                    var modelColourDesc = context.lnkmodelcolourdescs.Where(a => a.ID == viewModel.ModelColourDescID).Single();
                    var brandID = context.refbrands.Where(a => a.Name == viewModel.BrandName && a.CategoryID == viewModel.CategoryID).Single().ID;

                    // Model details****************************************************
                    model.BrandID = brandID;
                    model.Price = viewModel.Price;
                    model.DiscountPrice = viewModel.DiscountPrice;
                    // *****************************************************************

                    // Model colour description details*****************************************
                    modelColourDesc.Active = viewModel.Active;
                    modelColourDesc.SKU = viewModel.SKU;
                    modelColourDesc.HeelHeight = viewModel.HeelHeight;
                    modelColourDesc.Style = viewModel.Style;
                    modelColourDesc.Description = viewModel.Description;
                    modelColourDesc.LiningSock = viewModel.LiningSock;
                    modelColourDesc.Sole = viewModel.Sole;
                    modelColourDesc.Make = viewModel.Make;
                    modelColourDesc.UpperMaterial = viewModel.UpperMaterial;
                    modelColourDesc.HeelDesc = viewModel.HeelDesc;
                    // ***************************************************************************

                    // Model lifestyle************************************************************
                    var selectedLifestyleIDs = viewModel.SelectedLifestyleIDText.Replace(",,",",").Split(',').Select(int.Parse).ToList();
                    var selectedLifeStyles = context.reflifestyles.Where(a => selectedLifestyleIDs.Contains(a.ID)).ToList();
                    var modelLifestyles = context.lnkmodellifestyles.Where(a => a.ModelID == viewModel.ModelID &&
                                                                           a.ColourDescID == viewModel.ColourDescID).ToList();
                    modelLifestyles.ForEach(a => { a.Active = false; a.UpdateDT = DateTime.Now; });

                    foreach (var lifeStyle in selectedLifeStyles)
                    {
                        var modelLifestyle = modelLifestyles.Where(a => a.LifeStyleID == lifeStyle.ID).SingleOrDefault();

                        if (modelLifestyle != null)
                        {
                            modelLifestyle.Active = true;
                            modelLifestyle.UpdateDT = DateTime.Now;
                        }
                        else
                        {
                            context.lnkmodellifestyles.Add(new lnkmodellifestyle()
                            {
                                 ColourDescID = viewModel.ColourDescID,
                                 ModelID = viewModel.ModelID,
                                 Active=true,
                                 CreateDT=DateTime.Now,
                                 LifeStyleID=lifeStyle.ID,
                            }); 
                        }
                    }
                    //********************************************************************************

                    // Model trend********************************************************************************
                    var selectedTrendIDs = viewModel.SelectedTrendIDText.Replace(",,", ",").Split(',').Select(int.Parse).ToList();
                    var selectedTrends = context.reftrends.Where(a => selectedTrendIDs.Contains(a.ID)).ToList();
                    var modelTrends = context.lnkmodeltrends.Where(a => a.ModelID == viewModel.ModelID &&
                                                                        a.ColourDescID == viewModel.ColourDescID).ToList();
                    modelTrends.ForEach(a => { a.Active = false; a.UpdateDT = DateTime.Now; });

                    foreach (var trend in selectedTrends)
                    {
                        var modelTrend = modelTrends.Where(a => a.TrendID == trend.ID).SingleOrDefault();

                        if (modelTrend != null)
                        {
                            modelTrend.Active = true;
                            modelTrend.UpdateDT = DateTime.Now;
                        }
                        else
                        {
                            context.lnkmodeltrends.Add(new lnkmodeltrend()
                            {
                                ColourDescID = viewModel.ColourDescID,
                                ModelID = viewModel.ModelID,
                                Active = true,
                                CreateDT = DateTime.Now,
                                TrendID = trend.ID,
                            });
                        }
                    }
                    // ************************************************************************************************

                    context.SaveChanges();
                }

                trans.Complete();
            }

            return RedirectToAction("Edit", new { id = viewModel.ModelColourDescID });
        }
Ejemplo n.º 22
0
        public virtual ActionResult BackendResponse()
        {
            try
            {
                var viewModel = ConstructPaymentResponseModel();
                var log = ConstructLogPayment(viewModel);
                var salesOrderID = int.Parse(log.RefNo);
                var pendingStatusID = Util.GetStatusID(Status.Pending.ToString());

                using (var context = new TTTEntities())
                {
                    context.logpayments.Add(log);
                    context.SaveChanges();

                    var salesOrder = context.trnsalesorders
                        .Include(a => a.refstatu)
                        .SingleOrDefault(a => a.ID == salesOrderID);

                    if (salesOrder == null)
                        throw new ApplicationException("Order not found.");

                    if (salesOrder.refstatu.Name == Status.Open.ToString())
                    {
                        if (log.Status == Settings.Default.iPay88_Status_Success)
                        {
                            salesOrder.StatusID = pendingStatusID;
                            salesOrder.PaymentGatewayTransID = log.TransId;
                            salesOrder.UpdateDT = DateTime.Now;
                            context.SaveChanges();

                            var soItems =
                            context.lnksalesorders
                                .Where(a => a.Active && a.SalesOrderID == salesOrderID && a.ModelSizeID.HasValue)
                                .ToList();

                            foreach (var item in soItems)
                            {
                                var modelSize = context.lnkmodelsizes.Single(a => a.ID == item.ModelSizeID.Value);
                                modelSize.Quantity -= item.Quantity;
                            }

                            context.SaveChanges();
                        }
                    }
                    else
                    {
                        if(string.IsNullOrEmpty(salesOrder.PaymentGatewayTransID))
                            throw new ApplicationException("Invalid order status.");
                    }                    
                }
            }
            catch (Exception ex)
            {
                LogException(ex);
                throw;
            }

            return Content("RECEIVEOK");
        }
Ejemplo n.º 23
0
        public virtual ActionResult UploadImage(ModelImageViewModel viewModel, HttpPostedFileBase fileMain, HttpPostedFileBase fileSub,
            HttpPostedFileBase fileThumbnail1, HttpPostedFileBase fileThumbnail2, HttpPostedFileBase fileThumbnail3, HttpPostedFileBase fileThumbnail4,
            HttpPostedFileBase fileImage1, HttpPostedFileBase fileImage2, HttpPostedFileBase fileImage3, HttpPostedFileBase fileImage4)
        {
            try
            {
                using (var context = new TTTEntities())
                {
                    var modelColourDesc = context.lnkmodelcolourdescs.Where(a => a.ID == viewModel.ModelColourDescID).Single();
                    var modelImages = context.lnkmodelimages.Where(a => a.ModelColourDescID == viewModel.ModelColourDescID).ToList();

                    if (fileMain != null)
                    {
                        SaveImage(viewModel, fileMain);
                        modelColourDesc.MainImage = Path.GetFileName(fileMain.FileName);
                    }

                    if (fileSub != null)
                    {
                        SaveImage(viewModel, fileSub);
                        modelColourDesc.SubImage = Path.GetFileName(fileSub.FileName);
                    }

                    for (int i = 0; i < 4; i++)
                    {
                        var modelImage = new lnkmodelimage()
                        {
                            CreateDT = DateTime.Now,
                            Active = true,
                            ModelColourDescID = viewModel.ModelColourDescID,
                        };

                        //existing model images
                        if (modelImages.Count() > i)
                            modelImage = modelImages[i];

                        switch (i)
                        {
                            case 0:
                                UploadModelImage(viewModel, fileThumbnail1, fileImage1, modelImage);
                                break;
                            case 1:
                                UploadModelImage(viewModel, fileThumbnail2, fileImage2, modelImage);
                                break;
                            case 2:
                                UploadModelImage(viewModel, fileThumbnail3, fileImage3, modelImage);
                                break;
                            case 3:
                                UploadModelImage(viewModel, fileThumbnail4, fileImage4, modelImage);
                                break;
                        }

                        // new model images
                        if (modelImage.ID == 0)
                            context.lnkmodelimages.Add(modelImage);

                    }
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return RedirectToAction("Edit", new { id = viewModel.ModelColourDescID }); 
        }
Ejemplo n.º 24
0
        public virtual ActionResult Edit(BaseRefCreateUpdateViewModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var record = context.reflifestyles.Single(a => a.ID == viewModel.ID);

                record.Name = viewModel.Name;
                record.Active = viewModel.Active;

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.LifeStyle.Index());
        }
Ejemplo n.º 25
0
        public virtual ActionResult ShoeDetails(ShoeDetailsViewModel viewModel, FormCollection collection)
        {
            try
            {
                if (collection["submit"].ToString() == "+ ADD TO BAG")
                {
                    #region Add to Cart

                    var salesOrder = new trnsalesorder();

                    using (var context = new TTTEntities())
                    {
                        var query = from customizeModelImage in context.lnkcustomizemodelimages
                                    join customizeModel in context.refcustomizemodels on customizeModelImage.CustomizeModelID equals customizeModel.ID
                                    select new { CustomizeModel = customizeModel, CustomizeModelImage = customizeModelImage };

                        var customizeModelDetails = query.Where(a => a.CustomizeModelImage.SKU == viewModel.ModelImage.SKU).Single();

                        var customerEmail = Util.SessionAccess == null ? "" : Util.SessionAccess.Email;


                        if (!string.IsNullOrEmpty(customerEmail)) // login customer
                        {
                            var openStatusID = Util.GetStatusID(Status.Open.ToString());

                            salesOrder = context.trnsalesorders.Where(a => a.Email == customerEmail && a.StatusID == openStatusID).SingleOrDefault();

                            using (var trans = new TransactionScope())
                            {
                                if (salesOrder == null)
                                {
                                    salesOrder = context.trnsalesorders.Add(new trnsalesorder()
                                    {
                                        StatusID = openStatusID,
                                        Email = customerEmail,
                                        SubTotal = customizeModelDetails.CustomizeModel.Price,
                                        GrandTotal = customizeModelDetails.CustomizeModel.Price,
                                        CreateDT = DateTime.Now
                                    });
                                    context.SaveChanges();

                                    AddSalesOrderItem(salesOrder.ID, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context);
                                }
                                else
                                {
                                    var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == salesOrder.ID &&
                                                                                    a.Size == viewModel.Size &&
                                                                                    a.SKU == viewModel.ModelImage.SKU).SingleOrDefault();
                                    if (soItem == null)
                                    {
                                        salesOrder.GrandTotal += customizeModelDetails.CustomizeModel.Price;
                                        salesOrder.UpdateDT = DateTime.Now;

                                        AddSalesOrderItem(salesOrder.ID, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context);
                                    }
                                    else
                                    {
                                        soItem.Active = true;
                                        soItem.UpdateDT = DateTime.Now;
                                    }
                                }

                                context.SaveChanges();
                                trans.Complete();
                            }
                        }
                        else // Anonymous user
                        {
                            ConstructShoppingBagCookie();

                            var soItem = context.lnksalesorders.Where(a => a.SalesOrderID == null &&
                                                                            a.Size == viewModel.Size && a.SKU == viewModel.ModelImage.SKU &&
                                                                            a.CookieID == cookieID).SingleOrDefault();
                            if (soItem == null)
                            {
                                AddSalesOrderItem(null, viewModel.ModelImage.SKU, viewModel.Size, viewModel.CustomizeModel.Price, context);
                            }
                            else
                            {
                                soItem.Active = true;
                                soItem.UpdateDT = DateTime.Now;
                            }

                            context.SaveChanges();
                        }
                    }

                    #endregion
                }
                else if (collection["submit"].ToString() == "+ ADD TO WISH LIST")
                {
                    #region Add to Wishlist

                    if (!Request.IsAuthenticated)
                    {
                        return RedirectToAction(MVC.SignIn.Index(Url.Action("ShoeDetails", new { sku = viewModel.ModelImage.SKU })));
                    }

                    AddToWishList(viewModel);

                    #endregion
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return RedirectToAction("ShoeDetails", new { sku = viewModel.ModelImage.SKU });
        }
Ejemplo n.º 26
0
        public virtual ActionResult Create(CategoryModel viewModel, HttpPostedFileBase file)
        {
            ValidateIsAdmin();

            SaveImage(viewModel, file);

            using (var context = new TTTEntities())
            {
                var newRecord = new refcategory
                {
                    Active = viewModel.Active,
                    Name = viewModel.Name,
                    CreateDT = DateTime.Now,
                    Type = viewModel.Type,
                    Image = viewModel.Image
                };

                context.refcategories.Add(newRecord);
                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.Category.Index());
        }
Ejemplo n.º 27
0
        private void AddToWishList(ShoeDetailsViewModel viewModel)
        {
            var wishlistID = 0;

            using (var context = new TTTEntities())
            {
                using (var trans = new TransactionScope())
                {
                    var customerEmail = Util.SessionAccess.Email;
                    var wishlist = context.trnwishlists.Where(a => a.Email == customerEmail).SingleOrDefault();
                    if (wishlist == null)
                    {
                        wishlistID = context.trnwishlists.Add(new trnwishlist()
                        {
                            Active = true,
                            CreateDT = DateTime.Now,
                            Email = customerEmail
                        }).ID;

                        AddWishlistItem(wishlistID, viewModel.ModelImage.SKU, viewModel.Size, context);
                    }
                    else
                    {
                        wishlistID = wishlist.ID;

                        var wishlistItem = context.lnkwishlists.Where(a => a.SKU == viewModel.ModelImage.SKU &&
                                                                            a.Size == viewModel.Size &&
                                                                            a.WishlistID == wishlistID).SingleOrDefault();

                        if (wishlistItem == null)
                            AddWishlistItem(wishlistID, viewModel.ModelImage.SKU, viewModel.Size, context);
                        else
                        {
                            wishlistItem.Active = true;
                            wishlistItem.UpdateDT = DateTime.Now;
                        }
                    }

                    context.SaveChanges();
                    trans.Complete();
                }
            }
        }
Ejemplo n.º 28
0
        public virtual ActionResult Edit(BrandModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var record = context.refbrands.Single(a => a.ID == viewModel.ID);

                record.Name = viewModel.Name;
                record.Active = viewModel.Active;
                record.CategoryID = viewModel.CategoryID;

                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.Brand.Index());
        }
Ejemplo n.º 29
0
        public virtual ActionResult Create(BaseRefCreateUpdateViewModel viewModel)
        {
            ValidateIsAdmin();

            using (var context = new TTTEntities())
            {
                var newRecord = new reflifestyle
                {
                    Active = viewModel.Active,
                    Name = viewModel.Name,
                    CreateDT = DateTime.Now
                };

                context.reflifestyles.Add(newRecord);
                context.SaveChanges();
            }

            return RedirectToAction(MVC.Admin.LifeStyle.Index());
        }
Ejemplo n.º 30
0
        public virtual ActionResult ForgotPassword(ForgotPasswordViewModel viewModel)
        {
            if(string.IsNullOrEmpty(viewModel.Email))
                return View(new ForgotPasswordViewModel());

            using (var context = new TTTEntities())
            {
                var user = context.tblaccesses.Where(a => a.Email == viewModel.Email).SingleOrDefault();

                if (user == null)
                {
                    viewModel.ErrorMessage = "Email account does not exist.";
                    return View(viewModel);
                }

                var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                var random = new Random();
                viewModel.NewPassword = new string(
                    Enumerable.Repeat(chars, 8)
                              .Select(s => s[random.Next(s.Length)])
                              .ToArray());

                user.Password = Util.GetMD5Hash(viewModel.NewPassword);
                user.UpdateDT = DateTime.Now;

                context.SaveChanges();
            }

            SendForgotPasswordEmail(viewModel);

            return View("ForgotPasswordSuccess", viewModel);
        }