public ActionResult AddAddress(ViewModelDeliveryAddress address)
        {
            DeliveryAddress addAddress = new DeliveryAddress()
            {
                Area = address.Area,
                DeliveryAddressId = address.DeliveryAddressId,
                DetailAddress     = address.DetailAddress,
                CustomerId        = (int)Session["CustomerId"],
                Default           = address.Default,
                DeliveryName      = address.DeliveryName,
                Postcode          = address.Postcode,
                Province          = address.Province,
                Street            = address.Street,
                TelNum            = address.TelNum,
            };
            var customerId         = (int)Session["CustomerId"];
            var allDeliveryAddress = userService.GetAllDeliveryAddressByCustomerId(customerId);

            if (allDeliveryAddress.Count != 0)
            {
                if (addAddress.Default == 1)
                {
                    userService.ChangeDefaultDeliveryAddress();
                }
            }
            userService.AddAddress(addAddress);
            return(RedirectToAction("MyMall"));
        }
Esempio n. 2
0
        public ActionResult AddAddress([Bind(Include = "City, Streat, PhoneNumber, PostCode")] AddAddressBM bind)
        {
            if (this.ModelState.IsValid)
            {
                string userName = User.Identity.Name;
                service.AddAddress(bind, userName);

                return(this.RedirectToAction("Profile"));
            }

            return(View());
        }
Esempio n. 3
0
        public ActionResult Register(CompanyRegister companyRegister, HttpPostedFileBase logo)
        {
            if (_userService.Get(userName: companyRegister.CreatedBy.UserName).Any())
            {
                ModelState.AddModelError("",
                                         $"Username {companyRegister.CreatedBy.UserName} is already in use. Please try with a different username");
                return(View(companyRegister));
            }

            // need to handle the file size
            if (logo != null && logo.ContentLength > 0 && logo.ContentType.Contains("image"))
            {
                using (Stream inputStream = logo.InputStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    companyRegister.Company.LogoUrl    = logo.FileName;
                    companyRegister.Company.LogoBinary = memoryStream.ToArray();
                }
            }
            companyRegister.CreatedBy.UserRegisteredIp     = UserSession.IpAddress;
            companyRegister.CreatedBy.RegisteredMacAddress = UserSession.MacAddress;
            companyRegister.CreatedBy.LastActivityIp       = UserSession.IpAddress;
            companyRegister.CreatedBy.LastActiveMacAddress = UserSession.MacAddress;
            companyRegister.CreatedBy.EmploymentTypeId     = (int)EmploymentType.FullTime;

            companyRegister.Company.Id = _companyService.Add(companyRegister.Company);

            if (companyRegister.Company.Id == (int)RegistrationStatus.DuplicateCompany)
            {
                ModelState.AddModelError("", $"Company {companyRegister.CreatedBy.UserName} is already registerted");
                return(View(companyRegister));
            }
            if (companyRegister.Company.Id < 1)
            {
                ViewBag.Message = "Sorry. Failed to Add your company";
                return(View(companyRegister));
            }

            companyRegister.CreatedBy.CompanyId = companyRegister.Company.Id;
            try
            {
                var result = UserManager.CreateAsync(companyRegister.CreatedBy, companyRegister.CreatedBy.Password)
                             .Result;
                if (result.Succeeded)
                {
                    //SignInManager.SignIn(companyRegister.CreatedBy, isPersistent: false, rememberBrowser: false);
                    _userService.AddAddress(companyRegister.CreatedBy.RegistrationAddress);
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error);
                    }
                    return(View(companyRegister));
                }
            }
            catch
            {
                // ignored
            }

            if (companyRegister.Company.Id > 0)
            {
                _companyService.SetCreatedBy(companyId: companyRegister.Company.Id,
                                             userId: companyRegister.CreatedBy.Id);
                ViewBag.Message = "Your company code <strong>" + companyRegister.Company.RegisterCode +
                                  "</strong>. Your employees need this code to sign up for their account.";
#pragma warning disable 4014
                SignInManager.SignInAsync(companyRegister.CreatedBy, isPersistent: false,
#pragma warning restore 4014
                                          rememberBrowser: false);

                string emailMessage = _companyService.ComposeRegisteredEmail(companyRegister);
                _emailService.SendEmail(emailMessage, "Successfully Registered", new[] { companyRegister.CreatedBy.Email });
                return(RedirectToAction("Index", "Home"));
            }
            return(View(companyRegister));
        }