Example #1
0
        public ActionResult EditBidderOrBidderView(string id)
        {
            var adminCompanyId = inBidDB.aspnet_Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault().CompanyId;
            var member = inBidDB.aspnet_Users.Where(x => x.UserName == id).FirstOrDefault();
            

            if (Roles.IsUserInRole(User.Identity.Name, @"SuperAdmin"))
            {
                var membershipData = inBidDB.aspnet_Membership.Where(x => x.UserId == member.UserId).FirstOrDefault();

                PopulateLanguagesDropDownList(member.LanguageId);

                bool role = false;
                role = (Roles.IsUserInRole(id, @"Bidder")) ? true : false;

                RegistrationBidderOrBidderViewModel rbv = new RegistrationBidderOrBidderViewModel
                {
                    Bidder = role,
                    Email = membershipData.Email,
                    FirstName = member.FirstName,
                    LastName = member.LastName,
                    UserName = member.UserName,
                    Phone = member.Phone,
                        LanguageId=member.LanguageId,
                    Password = membershipData.Password,
                    ConfirmPassword = membershipData.Password
                };


                return View(rbv);
            }

            if (((Roles.IsUserInRole(User.Identity.Name, @"Admin")) && (adminCompanyId == member.CompanyId)) )
            {
                var membershipData = inBidDB.aspnet_Membership.Where(x => x.UserId == member.UserId).FirstOrDefault();

                PopulateLanguagesDropDownList(member.LanguageId);

                bool role = false;
                role = (Roles.IsUserInRole(id, @"Bidder")) ? true : false;                

                RegistrationBidderOrBidderViewModel rbv = new RegistrationBidderOrBidderViewModel
                {
                    Bidder=role,
                    Email = membershipData.Email,
                       FirstName=member.FirstName,
                       LastName=member.LastName,
                        UserName=member.UserName,
                         Phone=member.Phone,
                    LanguageId = member.LanguageId,
                    Password = membershipData.Password,
                 ConfirmPassword=membershipData.Password
                };
                return View(rbv);
            }
            return View("AccessDenied");
        }
Example #2
0
        public ActionResult EditBidderOrBidderView(string id, RegistrationBidderOrBidderViewModel rm)
        {
            var adminCompanyId = inBidDB.aspnet_Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault().CompanyId;
            var member = inBidDB.aspnet_Users.Where(x => x.UserName == id).FirstOrDefault();

            if (Roles.IsUserInRole(User.Identity.Name, @"SuperAdmin"))
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (Roles.IsUserInRole(member.UserName, @"Bidder") && !rm.Bidder)
                        {
                            Roles.RemoveUserFromRole(member.UserName, @"Bidder");
                            Roles.AddUserToRole(member.UserName, @"BidderView");
                        }
                        else if (Roles.IsUserInRole(member.UserName, @"BidderView") && rm.Bidder)
                        {
                            Roles.RemoveUserFromRole(member.UserName, @"BidderView");
                            Roles.AddUserToRole(member.UserName, @"Bidder");
                        }
                        member.UserName = rm.UserName;
                        member.FirstName = rm.FirstName;
                        member.LastName = rm.LastName;
                        member.Phone = rm.Phone;
                        member.LanguageId = rm.LanguageId;
                        setLanguage(rm.UserName); //zmiana jezyka
                        var membershipData = inBidDB.aspnet_Membership.Where(x => x.UserId == member.UserId).FirstOrDefault();
                        membershipData.Email = rm.Email;

                        inBidDB.SaveChanges();

                        TempData["Message"] = string.Format("Dane "+rm.UserName + " zostały zmienione");                       
                        //var adminName = Request.QueryString["companyAdmin"];
                        return RedirectToAction("Company", new { companyAdmin = id });                        
                    }
                    catch
                    {
                        ModelState.AddModelError("", "Dane nie zostaly zapisane. Problem z bazá danych");
                    }
                }
                PopulateLanguagesDropDownList(rm.LanguageId);
                return View(rm);
            }

            if (((Roles.IsUserInRole(User.Identity.Name, @"Admin")) && (adminCompanyId == member.CompanyId)) )
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (Roles.IsUserInRole(member.UserName, @"Bidder") && !rm.Bidder)
                        {
                            Roles.RemoveUserFromRole(member.UserName, @"Bidder");
                            Roles.AddUserToRole(member.UserName, @"BidderView");
                        }
                        else if (Roles.IsUserInRole(member.UserName, @"BidderView") && rm.Bidder)
                        {
                            Roles.RemoveUserFromRole(member.UserName, @"BidderView");
                            Roles.AddUserToRole(member.UserName, @"Bidder");
                        }
                        member.UserName = rm.UserName;
                        member.FirstName = rm.FirstName;
                        member.LastName = rm.LastName;
                        member.Phone = rm.Phone;
                        member.LanguageId = rm.LanguageId;
                        setLanguage(rm.UserName); //zmiana jezyka
                        var membershipData = inBidDB.aspnet_Membership.Where(x => x.UserId == member.UserId).FirstOrDefault();
                        membershipData.Email = rm.Email;

                        inBidDB.SaveChanges();

                        TempData["Message"] = string.Format("Dane " + rm.UserName + " zostały zmienione");
                        return RedirectToAction("Company");                   
                    }
                    catch
                    {
                        ModelState.AddModelError("", "Dane nie zostaly zapisane. Problem z bazá danych");
                    }
                }
                PopulateLanguagesDropDownList(rm.LanguageId);
                return View(rm);
            }
            return View("AccessDenied");
        }
Example #3
0
        public ActionResult RegisterBidderOrBidderView(RegistrationBidderOrBidderViewModel model)
        {
            if (Roles.IsUserInRole(User.Identity.Name, @"Admin"))
            {
                if (model.Bidder)
                {
                    if (CheckOverBiddersAndBiddersViews(2)==2)
                        return View("BiddersOver");
                }
                else
                {
                    if (CheckOverBiddersAndBiddersViews(3) == 3)
                        return View("BidderViewsOver");
                }

                try
                {
                    if (ModelState.IsValid)
                    {
                        // Attempt to register the user
                        MembershipCreateStatus createStatus;


                        Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, false, null, out createStatus);

                        int? companyId = 0;
                        Company company = null;

                        //var companyId = inBidDB.aspnet_Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault();
                        if (Request.QueryString["companyAdmin"] == null)
                        {
                            companyId = inBidDB.aspnet_Users.Where(x => x.UserName == User.Identity.Name).SingleOrDefault().CompanyId;
                            company = inBidDB.Companies.Where(x => x.CompanyId == companyId).FirstOrDefault();
                        }
                        else
                        {
                            var adminName = Request.QueryString["companyAdmin"];
                            companyId = inBidDB.aspnet_Users.Where(x => x.UserName == adminName).SingleOrDefault().CompanyId;
                            company = inBidDB.Companies.Where(x => x.CompanyId == companyId).FirstOrDefault();
                        }

                        var InsertedRow = inBidDB.aspnet_Users.Where(x => x.UserName == model.UserName).First();
                        InsertedRow.FirstName = model.FirstName;
                        InsertedRow.LastName = model.LastName;
                        InsertedRow.LanguageId = model.LanguageId;
                        InsertedRow.CompanyId = companyId;

                        InsertedRow.Phone = model.Phone;

                        if (model.Bidder)
                            Roles.AddUserToRole(model.UserName, @"Bidder");
                        else
                            Roles.AddUserToRole(model.UserName, @"BidderView");

                        inBidDB.SaveChanges();


                        if (createStatus == MembershipCreateStatus.Success)
                        {
                            setLanguage(model.UserName);
                            //FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                            // FormsAuth.SignIn(model.UserName, false /* createPersistentCookie */);
                            //Roles.AddUserToRole(model.UserName, "Admin");

                            string path = urlApp + "/Account/ActiveUser?userId=" + InsertedRow.UserId;
                          //  string path = Url.Action("ActiveUser", "Account", new { userId = InsertedRow.UserId }, Request.Url.Scheme);
                            MailHelper.SendRegistrationBidderOrBidderViewMail(model.Bidder, model.Email, model.UserName, model.Password, InsertedRow.UserId, company.Name, path);


                            //if (Request.IsAjaxRequest())
                            //{
                            //    // Same idea as above
                            //    return PartialView("_AdminRegistrationCompleted", model);
                            //}

                            TempData["Message"] = string.Format(model.UserName + " został zarejestrowany w firmie " + company.Name);

                            //return RedirectToAction("Company");
                            if (Request.QueryString["companyAdmin"] == null)
                            {
                                return RedirectToAction("Company");
                            }
                            else
                            {
                                var adminName = Request.QueryString["companyAdmin"];
                                return RedirectToAction("Company", new { companyAdmin = adminName });
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", ErrorCodeToString(createStatus));
                        }
                    }
                }
                catch (DataException e)
                {
                    ModelState.AddModelError("", "");
                }

                PopulateLanguagesDropDownList(model.LanguageId);
                //  PopulateCountiresDropDownLists(model.CountryId);
                // If we got this far, something failed, redisplay form
                return View(model);
            }
            if (Request.IsAjaxRequest())
            {
                return PartialView("_AccessDenied");

            }
            //return PartialView();
            return View("AccessDenied");
        }