Пример #1
0
        public ActionResult HobbyDBUser(HobbyDBUserVM hdbUser)
        {
            int userRecordId = 0;

            if (ModelState.IsValid)
            {
                bool error = false;
                if (string.IsNullOrEmpty(hdbUser.HobbyDBUserName) || hdbUser.HobbyDBUserId <= 0)
                {
                    ModelState.AddModelError(nameof(hdbUser.HobbyDBUserName), "The specified UserName is not valid.");
                    error = false;
                }
                if (hdbUser.HobbyDBUserId <= 0)
                {
                    ModelState.AddModelError(nameof(hdbUser.HobbyDBUserId), "The specified User Id is not valid.");
                    error = false;
                }
                if (string.IsNullOrEmpty(hdbUser.Email))
                {
                    ModelState.AddModelError(nameof(hdbUser.Email), "The specified Email is not valid.");
                    error = false;
                }
                if (!hdbUser.IsBuyer && !hdbUser.IsSeller)
                {
                    ModelState.AddModelError(nameof(hdbUser.IsBuyer), "Buyer or Seller must be checked.");
                    error = false;
                }
                if (error)
                {
                    return(PartialView("_HobbyDBUser", hdbUser));
                }

                UserRecord user = db.UserRecords.Where(u => u.Id != hdbUser.Id).SingleOrDefault(u => u.HDBUserId == hdbUser.HobbyDBUserId || u.HDBUserName.Equals(hdbUser.HobbyDBUserName, StringComparison.CurrentCultureIgnoreCase));
                if (user != null)
                {
                    string ctrl = user.HDBUserId == hdbUser.HobbyDBUserId ? nameof(hdbUser.HobbyDBUserId) : nameof(hdbUser.HobbyDBUserName);
                    if (user.HDBUserId == hdbUser.HobbyDBUserId)
                    {
                        ModelState.AddModelError(nameof(hdbUser.HobbyDBUserId), "User with the specified User Id already exists");
                    }
                    if (string.Compare(user.HDBUserName, hdbUser.HobbyDBUserName, true) == 0)
                    {
                        ModelState.AddModelError(nameof(hdbUser.HobbyDBUserName), "User with the specified User Id already exists");
                    }
                    return(PartialView("_HobbyDBUser", hdbUser));
                }

                if (error)
                {
                    return(PartialView("_HobbyDBUser", hdbUser));
                }

                Email preferredEmail = db.Emails.SingleOrDefault(e => string.Compare(e.EmailAddress, hdbUser.Email, true) == 0);
                if (preferredEmail == null)
                {
                    preferredEmail = new Email()
                    {
                        EmailAddress = hdbUser.Email
                    };
                    db.Emails.Add(preferredEmail);
                    db.SaveChanges();
                }
                Email payPalEmail = db.Emails.SingleOrDefault(e => string.Compare(e.EmailAddress, hdbUser.PayPalEmail, true) == 0);
                if (payPalEmail == null)
                {
                    payPalEmail = new Email()
                    {
                        EmailAddress = hdbUser.PayPalEmail
                    };
                    db.Emails.Add(payPalEmail);
                    db.SaveChanges();
                }

                if (hdbUser.Id == 0)
                {
                    UserRecord ur = new UserRecord()
                    {
                        HDBUserName      = hdbUser.HobbyDBUserName,
                        HDBUserId        = hdbUser.HobbyDBUserId,
                        LastName         = hdbUser.LastName,
                        FirstName        = hdbUser.FirstName,
                        PhoneNumber      = hdbUser.PhoneNumber,
                        UserType         = (hdbUser.IsBuyer ? UserRecord.UserTypes.Buyer : 0) | (hdbUser.IsSeller ? UserRecord.UserTypes.Seller : UserRecord.UserTypes.None),
                        PreferredEmailId = preferredEmail.Id,
                        PayPalEmailId    = payPalEmail.Id
                    };
                    db.UserRecords.Add(ur);
                    db.SaveChanges();
                    userRecordId = ur.Id;

                    var userRecords = db.UserRecords.OrderBy(r => r.HDBUserName).Include(u => u.PayPalEmail).Include(u => u.PreferredEmail);
                    return(PartialView("_UserList", userRecords.ToList()));
                }
                else
                {
                    UserRecord ur = db.UserRecords.First(x => x.Id == hdbUser.Id);
                    ur.HDBUserName      = hdbUser.HobbyDBUserName;
                    ur.HDBUserId        = hdbUser.HobbyDBUserId;
                    ur.FirstName        = hdbUser.FirstName;
                    ur.LastName         = hdbUser.LastName;
                    ur.PhoneNumber      = hdbUser.PhoneNumber;
                    ur.UserType         = (hdbUser.IsBuyer ? UserRecord.UserTypes.Buyer : UserRecord.UserTypes.None) | (hdbUser.IsSeller ? UserRecord.UserTypes.Seller : UserRecord.UserTypes.None);
                    ur.PayPalEmailId    = payPalEmail.Id;
                    ur.PreferredEmailId = preferredEmail.Id;
                    db.Entry(ur).State  = EntityState.Modified;
                    db.SaveChanges();

                    string pv = "_UserListItem";
                    if (!string.IsNullOrEmpty(hdbUser.Dialog.PartialView))
                    {
                        pv = hdbUser.Dialog.PartialView;
                    }
                    return(PartialView(pv, ur));
                }
            }
            else
            {
                return(PartialView(hdbUser));
            }
        }
Пример #2
0
        public ActionResult HobbyDBUser(HobbyDBUserVM hdbUser)
        {
            int userRecordId = 0;

            if (ModelState.IsValid)
            {
                bool error = false;
                if (string.IsNullOrEmpty(hdbUser.HobbyDBUserName) || hdbUser.HobbyDBUserId <= 0)
                {
                    ModelState.AddModelError(nameof(hdbUser.HobbyDBUserName), "The specified UserName is not valid.");
                    error = false;
                }
                if (hdbUser.HobbyDBUserId <= 0)
                {
                    ModelState.AddModelError(nameof(hdbUser.HobbyDBUserId), "The specified User Id is not valid.");
                    error = false;
                }
                if (string.IsNullOrEmpty(hdbUser.Email))
                {
                    ModelState.AddModelError(nameof(hdbUser.Email), "The specified Email is not valid.");
                    error = false;
                }
                if (!hdbUser.IsBuyer && !hdbUser.IsSeller)
                {
                    ModelState.AddModelError(nameof(hdbUser.IsBuyer), "Buyer or Seller must be checked.");
                    error = false;
                }
                if (error)
                {
                    return(View()); // PartialView("_HobbyDBUser", hdbUser);
                }
                UserRecord user = db.UserRecords.SingleOrDefault(u => u.HDBUserId == hdbUser.HobbyDBUserId || string.Compare(u.HDBUserName, hdbUser.HobbyDBUserName, true) == 0);
                if (user != null)
                {
                    string ctrl = user.HDBUserId == hdbUser.HobbyDBUserId ? nameof(hdbUser.HobbyDBUserId) : nameof(hdbUser.HobbyDBUserName);
                    if (user.HDBUserId == hdbUser.HobbyDBUserId)
                    {
                        ModelState.AddModelError(nameof(hdbUser.HobbyDBUserId), "User with the specified User Id already exists");
                    }
                    if (string.Compare(user.HDBUserName, hdbUser.HobbyDBUserName, true) == 0)
                    {
                        ModelState.AddModelError(nameof(hdbUser.HobbyDBUserName), "User with the specified User Id already exists");
                    }
                    return(View());// PartialView("_HobbyDBUser", hdbUser);
                }

                if (error)
                {
                    return(View());// PartialView("_HobbyDBUser", hdbUser);
                }
                if (hdbUser.Id == 0)
                {
                    Email preferredEmail = db.Emails.SingleOrDefault(e => string.Compare(e.EmailAddress, hdbUser.Email, true) == 0);
                    if (preferredEmail == null)
                    {
                        preferredEmail = new Email()
                        {
                            EmailAddress = hdbUser.Email
                        };
                        db.Emails.Add(preferredEmail);
                        db.SaveChanges();
                    }
                    Email payPalEmail = db.Emails.SingleOrDefault(e => string.Compare(e.EmailAddress, hdbUser.PayPalEmail, true) == 0);
                    if (payPalEmail == null)
                    {
                        payPalEmail = new Email()
                        {
                            EmailAddress = hdbUser.PayPalEmail
                        };
                        db.Emails.Add(payPalEmail);
                        db.SaveChanges();
                    }

                    UserRecord ur = new UserRecord()
                    {
                        HDBUserName      = hdbUser.HobbyDBUserName,
                        HDBUserId        = hdbUser.HobbyDBUserId,
                        LastName         = hdbUser.LastName,
                        FirstName        = hdbUser.FirstName,
                        PhoneNumber      = hdbUser.PhoneNumber,
                        UserType         = (hdbUser.IsBuyer ? UserRecord.UserTypes.Buyer : 0) | (hdbUser.IsSeller ? UserRecord.UserTypes.Seller : UserRecord.UserTypes.None),
                        PreferredEmailId = preferredEmail.Id,
                        PayPalEmailId    = payPalEmail.Id
                    };
                    db.UserRecords.Add(ur);
                    db.SaveChanges();
                    userRecordId = ur.Id;
                }
            }
            else
            {
                return(PartialView(hdbUser));
            }

            CartVM cart = new CartVM();

            cart.BuyerId  = userRecordId;
            cart.SellerId = userRecordId;
            var list = db.UserRecords.OrderBy(u => u.HDBUserName).ToList();

            if (hdbUser.IsBuyer)
            {
                ViewBag.DropDownType = true;
                ViewBag.tabIndex     = 5;
                cart.Buyers          = new SelectList(list.Where(u => (u.UserType & UserRecord.UserTypes.Buyer) == UserRecord.UserTypes.Buyer), "Id", "HDBUserName");

                return(PartialView("_UpdateDropdown", cart));
            }
            return(new ContentResult());
        }