Esempio n. 1
0
        public IActionResult Login(LoginViewModel loginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(loginViewModel));
            }
            IList <string> errors = new List <string>();
            SellerView     seller = loginPersistence.PersistLogin();

            if (seller == null)
            {
                if (EmailValidationService.IsValidEmail(loginViewModel.LoginInformation.Username))
                {
                    seller = eCommerce.GetSellerBy(loginViewModel.LoginInformation.Username);
                    if (seller != null)
                    {
                        if (seller.Status == SellerStatus.Active)
                        {
                            string encryptedPassword = eCommerce.GetSellerEncryptedPassword(int.Parse(seller.Id));
                            if (EncryptionService.Encrypt(loginViewModel.LoginInformation.Password) == encryptedPassword)
                            {
                                loginPersistence.LoginThrough(loginViewModel.LoginInformation.Username, loginViewModel.LoginInformation.Remember);
                            }
                            else
                            {
                                errors.Add("Wrong password");
                            }
                        }
                        else
                        {
                            switch (seller.Status)
                            {
                            case SellerStatus.Locked: errors.Add("Account was locked"); break;

                            case SellerStatus.Validating: errors.Add("Account are waiting for validating"); break;
                            }
                        }
                    }
                    else
                    {
                        errors.Add("Email not found");
                    }
                }
                else
                {
                    errors.Add("Invalid email address");
                }
            }
            else
            {
                return(Redirect(loginViewModel.ReturnUrl));
            }

            if (errors.Any())
            {
                ViewData[GlobalViewBagKeys.Errors] = errors;
                return(View(loginViewModel));
            }
            return(Redirect(loginViewModel.ReturnUrl));
        }
Esempio n. 2
0
        public IActionResult Informations(SellerView seller)
        {
            if (ModelState.IsValid)
            {
                eCommerce.UpdateSeller(int.Parse(seller.Id),
                                       new SellerUpdateModel
                {
                    Name        = seller.Name,
                    PhoneNumber = seller.PhoneNumber
                },
                                       out ICollection <string> errors);
                if (errors.Any())
                {
                    ViewData[GlobalViewBagKeys.Errors] = errors;
                }
                else
                {
                    SellerView updatedSeller = eCommerce.GetSellerBy(int.Parse(seller.Id));

                    ICollection <string> messages = new List <string>();
                    messages.Add("Seller informations updated");
                    ViewData[GlobalViewBagKeys.Messages] = messages;

                    return(View(updatedSeller));
                }
            }
            return(View(seller));
        }
Esempio n. 3
0
        public IActionResult UpdateProduct(int productTypeId, short productAttributesNumber = 3)
        {
            SellerView seller = loginPersistence.PersistLogin();

            var             errors      = new List <string>();
            ProductTypeView productType = eCommerce.GetProductTypeBy(productTypeId);

            if (productType == null)
            {
                errors.Add("Could not found product type");
            }

            if (errors.Any())
            {
                ViewData[GlobalViewBagKeys.Errors] = errors;
                return(RedirectToAction("Product"));
            }

            ViewData[GlobalViewBagKeys.ECommerceService] = eCommerce;
            return(View(new UpdateProductViewModel
            {
                ProductTypeId = productTypeId,
                UpdateModel = eCommerce.GetProductUpdateModelBy(int.Parse(seller.Id), productTypeId),
                ProductAttributesNumber = productAttributesNumber
            }));
        }
Esempio n. 4
0
        public IActionResult ChangeProductActive(int productTypeId, bool active)
        {
            SellerView seller = loginPersistence.PersistLogin();

            if (seller == null)
            {
                return(Json("Not login"));
            }
            try
            {
                eCommerce.UpdateProductActive(int.Parse(seller.Id), productTypeId, active, out ICollection <string> errors);
                if (errors.Any())
                {
                    string errorString = "";
                    foreach (string error in errors)
                    {
                        errorString += error + "\n";
                    }
                    errorString.Remove(errorString.Length - 1);
                    return(Json(errorString));
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
            return(Json(""));
        }
Esempio n. 5
0
 public PagePesanan(SellerView viewComponent, DataRow seller)
 {
     ViewComponent = viewComponent;
     this.seller   = seller;
     htrans        = new D_Trans_ItemModel();
     forselectdata = new D_Trans_ItemModel();
     dtrans        = new D_Trans_ItemModel();
     dtrans_helper = new D_Trans_ItemModel();
 }
        public IActionResult Index(ProductTypeUpdateRequestAddModel addModel)
        {
            SellerView seller = loginPersistence.PersistLogin();

            eCommerce.RequestAnUpdateForProductType(int.Parse(seller.Id), addModel, out ICollection <string> errors);
            if (errors.Any())
            {
                ViewData[GlobalViewBagKeys.Errors] = errors;
                return(RedirectToAction("Index", new { productTypeId = addModel.ProductTypeId }));
            }
            return(RedirectToAction("RequestSended"));
        }
Esempio n. 7
0
 public static void InitializeView(SellerView view)
 {
     //TESTING();
     seller        = Session.User;
     ViewComponent = view;
     pagePesanan   = new PagePesanan(view, seller);
     pageProduk    = new PageProduk(view, seller);
     pageUlasan    = new PageUlasan(view, seller);
     pageInfoToko  = new PageInfoToko(view, seller);
     transition    = new Transition(transFPS);
     initState();
     initHeader();
     pagePesanan.initPagePesanan();
 }
        public IActionResult Index(int productTypeId)
        {
            SellerView seller = loginPersistence.PersistLogin();

            var             errors      = new List <string>();
            ProductTypeView productType = eCommerce.GetProductTypeBy(productTypeId);

            if (productType != null)
            {
                if (productType.Status == ProductTypeStatus.Locked)
                {
                    errors.Add("Product is unavailable at the moment");
                }
            }
            else
            {
                errors.Add("Could not found product type");
            }

            if (errors.Any())
            {
                ViewData[GlobalViewBagKeys.Errors] = errors;
                return(RedirectToAction("SelectProductType"));
            }

            ViewData[GlobalViewBagKeys.ECommerceService] = eCommerce;
            ProductTypeUpdateRequestView     updateRequest = eCommerce.GetProductTypeUpdateRequestBy(int.Parse(seller.Id), int.Parse(productType.Id));
            ProductTypeUpdateRequestAddModel addModel      = new ProductTypeUpdateRequestAddModel();

            if (updateRequest != null)
            {
                if (updateRequest.CategoryId != null)
                {
                    addModel.CategoryId = int.Parse(updateRequest.CategoryId);
                }
                addModel.Name          = updateRequest.Name;
                addModel.ProductTypeId = int.Parse(productType.Id);
                addModel.Descriptions  = updateRequest.Descriptions;
            }
            else
            {
                addModel.CategoryId    = int.Parse(productType.CategoryId);
                addModel.Name          = productType.Name;
                addModel.ProductTypeId = int.Parse(productType.Id);
            }
            return(View(addModel));
        }
Esempio n. 9
0
        public IActionResult Product(short?page = 1)
        {
            SellerView seller = loginPersistence.PersistLogin();

            ProductSearchModel searchModel = new ProductSearchModel
            {
                SellerId = int.Parse(seller.Id)
            };

            ViewData[GlobalViewBagKeys.ECommerceService] = eCommerce;
            return(View(new ProductsListViewModel
            {
                Products = eCommerce.GetProductsBySellerId(searchModel, (page - 1) * recordsPerPage, recordsPerPage),
                PagingInfo = new PagingInfo
                {
                    CurrentPage = (short)page,
                    RecordsPerPage = recordsPerPage,
                    TotalRecords = eCommerce.CountProductsBySellerId(searchModel)
                }
            }));
        }
Esempio n. 10
0
        public void LoginThrough(int id, bool rememberLogin = false)
        {
            SellerView seller = eCommerce.GetSellerBy(id);

            if (seller != null)
            {
                session.SetString(sellerSessionKeyWord, seller.Id);
                if (rememberLogin)
                {
                    responseCookies.SetJson(sellerCookieKeyWord,
                                            new LoginCookies
                    {
                        UserId     = id,
                        LoginValue = EncryptionService.Encrypt(seller.Email +
                                                               eCommerce.GetSellerEncryptedPassword(int.Parse(seller.Id)) +
                                                               connectionInfo.RemoteIpAddress.ToString())
                    },
                                            new CookieOptions {
                        Expires = DateTime.Now.AddMinutes(ExistingMinutes)
                    });
                }
            }
        }
        //Button Seller Login
        private void btnSellerLogin_Click(object sender, RoutedEventArgs e)
        {
            bool success = LoginRegisterViewModel
                           .LoginSeller
                               (tbSellerEmailLogin.Text, tbSellerPasswordLogin.Password);

            if (success && Session.isLogin)
            {
                this.Hide();
                if (Session.role.ToUpper() == "ADMIN")
                {
                    HomeAdminView hav = new HomeAdminView();
                    hav.ShowDialog();
                }
                else
                {
                    //Seller View (Diganti kalau sudah ada View)
                    SellerView sv = new SellerView();
                    sv.ShowDialog();
                }
                this.Show();
                Utility.TraverseVisualTree(this);
            }
        }
Esempio n. 12
0
        public IActionResult Informations(int sellerId)
        {
            SellerView seller = eCommerce.GetSellerBy(sellerId);

            return(seller != null?View(seller) : (IActionResult)NotFound());
        }
Esempio n. 13
0
 public PageInfoToko(SellerView viewComponent, DataRow seller)
 {
     ViewComponent = viewComponent;
     this.seller   = seller;
     initPageInfoToko();
 }
Esempio n. 14
0
        public async Task <IActionResult> Index(RegisterProductViewModel registerModel, IFormFile representativeImage,
                                                IList <string> keys, IList <string> values, IEnumerable <IFormFile> images)
        {
            SellerView seller = loginPersistence.PersistLogin();

            ViewData[GlobalViewBagKeys.ECommerceService] = eCommerce;
            if (ModelState.IsValid)
            {
                ICollection <string> errors = new List <string>();

                //product attributes
                var attributes = new Dictionary <string, HashSet <string> >();
                for (short i = 0; i < keys.Count; i++)
                {
                    if (!string.IsNullOrEmpty(keys[i]) && !attributes.Any(a => a.Key == keys[i]) && values[i] != null)
                    {
                        HashSet <string> separatedValues = values[i]
                                                           .Split(',', StringSplitOptions.RemoveEmptyEntries)
                                                           .ToHashSet();
                        if (separatedValues.Any())
                        {
                            attributes.Add(keys[i], separatedValues);
                        }
                    }
                }
                registerModel.AddModel.Attributes = attributes;

                //product images
                if (images.Any())
                {
                    var imagesList = new List <FileContent>();
                    foreach (IFormFile image in images)
                    {
                        using (MemoryStream memoryStream = new MemoryStream())
                        {
                            await image.CopyToAsync(memoryStream);

                            imagesList.Add(new FileContent(memoryStream.ToArray(), image.ContentType));
                        }
                    }
                    registerModel.AddModel.Images = imagesList;
                }

                //product representative image
                if (representativeImage != null)
                {
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        await representativeImage.CopyToAsync(memoryStream);

                        registerModel.AddModel.RepresentativeImage = new FileContent(memoryStream.ToArray(), representativeImage.ContentType);
                    }
                }
                else
                {
                    errors.Add("Representative image is required");
                }

                if (errors.Any())
                {
                    return(View(registerModel));
                }

                eCommerce.RegisterProduct(int.Parse(seller.Id), registerModel.AddModel, out errors);

                if (errors.Any())
                {
                    ViewData[GlobalViewBagKeys.Errors] = errors;
                }
                else
                {
                    ICollection <string> messages = new List <string>();
                    messages.Add("Register product succeed, please wait for validation");
                    ViewData[GlobalViewBagKeys.Messages] = messages;

                    return(RedirectToAction("Product", "Seller"));
                }
            }
            return(View(registerModel));
        }
Esempio n. 15
0
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
            BeginContext(30, 2, true);
            WriteLiteral("\r\n");
            EndContext();
#line 3 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"

            ECommerceService eCommerce = (ECommerceService)ViewData[GlobalViewBagKeys.ECommerceService];
            SellerView       seller    = eCommerce.GetSellerBy((int)Model.SearchModel.SellerId);

#line default
#line hidden
            BeginContext(212, 4, true);
            WriteLiteral("<h1>");
            EndContext();
            BeginContext(217, 11, false);
#line 7 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            Write(seller.Name);

#line default
#line hidden
            EndContext();
            BeginContext(228, 9, true);
            WriteLiteral("</h1>\r\n\r\n");
            EndContext();
#line 9 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            foreach (ProductView p in Model.Products)
            {
#line default
#line hidden
                BeginContext(284, 1, true);
                WriteLiteral("\t");
                EndContext();
                BeginContext(285, 43, false);
                __tagHelperExecutionContext = __tagHelperScopeManager.Begin("partial", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "e7078fd35c05f11437ad043fe2fa58158490ccc48200", async() => {
                }
                                                                            );
                __Microsoft_AspNetCore_Mvc_TagHelpers_PartialTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper>();
                __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_PartialTagHelper);
                __Microsoft_AspNetCore_Mvc_TagHelpers_PartialTagHelper.Name = (string)__tagHelperAttribute_0.Value;
                __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
#line 11 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
                __Microsoft_AspNetCore_Mvc_TagHelpers_PartialTagHelper.Model = p;

#line default
#line hidden
                __tagHelperExecutionContext.AddTagHelperAttribute("model", __Microsoft_AspNetCore_Mvc_TagHelpers_PartialTagHelper.Model, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
                await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

                if (!__tagHelperExecutionContext.Output.IsContentModified)
                {
                    await __tagHelperExecutionContext.SetOutputContentAsync();
                }
                Write(__tagHelperExecutionContext.Output);
                __tagHelperExecutionContext = __tagHelperScopeManager.End();
                EndContext();
                BeginContext(328, 2, true);
                WriteLiteral("\r\n");
                EndContext();
#line 12 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            }

#line default
#line hidden
            BeginContext(333, 2, true);
            WriteLiteral("\r\n");
            EndContext();
            BeginContext(335, 283, false);
            __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "e7078fd35c05f11437ad043fe2fa58158490ccc410089", async() => {
                BeginContext(610, 2, true);
                WriteLiteral("\r\n");
                EndContext();
            }
                                                                        );
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper = CreateTagHelper <global::ECommerce.UI.MVC.Infrastructure.PageLinkTagHelper>();
            __tagHelperExecutionContext.Add(__ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper);
#line 14 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageModel = Model.PagingInfo;

#line default
#line hidden
            __tagHelperExecutionContext.AddTagHelperAttribute("page-model", __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageModel, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
            BeginWriteTagHelperAttribute();
#line 14 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            WriteLiteral(ViewContext.RouteData.Values["Action"].ToString());

#line default
#line hidden
            __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageAction = __tagHelperStringValueBuffer;
            __tagHelperExecutionContext.AddTagHelperAttribute("page-action", __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageAction, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageClass = (string)__tagHelperAttribute_2.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageClassNormal = (string)__tagHelperAttribute_3.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_3);
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageClassSelected = (string)__tagHelperAttribute_4.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageClassDisabled = (string)__tagHelperAttribute_5.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_5);
            if (__ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageUrlValues == null)
            {
                throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("page-url-sellerId", "ECommerce.UI.MVC.Infrastructure.PageLinkTagHelper", "PageUrlValues"));
            }
#line 17 "C:\Users\hando\Desktop\ECommerce\ECommerce.UI.MVC\Views\Product\Seller.cshtml"
            __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageUrlValues["sellerId"] = Model.SearchModel.SellerId;

#line default
#line hidden
            __tagHelperExecutionContext.AddTagHelperAttribute("page-url-sellerId", __ECommerce_UI_MVC_Infrastructure_PageLinkTagHelper.PageUrlValues["sellerId"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
            await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

            if (!__tagHelperExecutionContext.Output.IsContentModified)
            {
                await __tagHelperExecutionContext.SetOutputContentAsync();
            }
            Write(__tagHelperExecutionContext.Output);
            __tagHelperExecutionContext = __tagHelperScopeManager.End();
            EndContext();
        }
Esempio n. 16
0
 public PageProduk(SellerView viewComponent, DataRow seller)
 {
     ViewComponent = viewComponent;
     this.seller   = seller;
     //initPageProduk();
 }
Esempio n. 17
0
 public PageUlasan(SellerView viewComponent, DataRow seller)
 {
     ViewComponent = viewComponent;
     this.seller   = seller;
     initPageUlasan();
 }