Esempio n. 1
0
        public ActionResult Create(RegisterModel reg)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("Create", reg));
                }
                SenderModel sender = new SenderModel(reg.Cpr, reg.FirstName, reg.LastName, reg.PhoneNumber, reg.Email, reg.Address + ", " + reg.Number, reg.ZipCode, reg.City)
                {
                    AccountType = (int)AccountTypeEnum.SENDER, Password = reg.Password, Username = reg.Username, Points = 0
                };
                var salt = Guid.NewGuid().ToString();
                int ret  = _proxy.AddSender(new SenderResource {
                    AccountType = sender.AccountType, Address = sender.Address, City = sender.City, Cpr = sender.Cpr, Email = sender.Email, FirstName = sender.FirstName, LastName = sender.LastName, Password = sender.Password, PassSalt = salt, PhoneNumber = sender.PhoneNumber, Points = sender.Points, Username = sender.Username, ZipCode = sender.ZipCode
                });
                switch (ret)
                {
                case 1: return(RedirectToAction("Index"));

                case 0: return(View("Create", reg));

                case -1:
                {
                    ModelState.AddModelError("Cpr", "This CPR is already registered");
                    return(View("Create", reg));
                }

                case -2:
                {
                    ModelState.AddModelError("Email", "This email is already registered");
                    return(View("Create", reg));
                }

                case -3:
                {
                    ModelState.AddModelError("Username", "This username is taken");
                    return(View("Create", reg));
                }
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }