public async Task <ActionResult> NewEmlpoyee(EmployeeViewModel modal)
        {
            if (modal != null && modal.UserName != null && modal.Password != null && modal.Name != null)
            {
                //var user = new ApplicationUser { UserName = form.Email, Email = form.Email };
                var user = new ApplicationUser()
                {
                    UserName = modal.UserName, Email = modal.UserName, Name = modal.Name, PhoneNumber = modal.PhoneNumber, Telephone = modal.Telephone, IdentityCardNumber = modal.IdentityCardNumber, ResidenceAddress = modal.ResidenceAddress, MailingAddress = modal.MailingAddress, Title = modal.Title, BirthDay = modal.BirthDay, Country = modal.Country
                };
                var result = await UserManager.CreateAsync(user, modal.Password);

                if (result.Succeeded)
                {
                    Repository <IsEmployee> isempDB = new Repository <IsEmployee>();
                    IsEmployee isemp = new IsEmployee
                    {
                        UserId       = modal.UserName,
                        RegisterDate = DateTime.Now
                    };
                    isempDB.Create(isemp);
                }
            }
            EmployeeViewModel evm = new EmployeeViewModel();

            //return PartialView(evm);
            return(RedirectToAction("EmlpoyeesManager"));
        }
Exemple #2
0
        public UserData GetUserByID(string UserName)
        {
            AspNetUsers aspuserData = db.AspNetUsers.Where(u => u.Id == UserName).First();
            UserData    result      = new UserData
            {
                UserName           = aspuserData.UserName,
                Name               = aspuserData.Name,
                BirthDay           = aspuserData.BirthDay,
                Country            = aspuserData.Country,
                Email              = aspuserData.Email,
                IdentityCardNumber = aspuserData.IdentityCardNumber,
                MailingAddress     = aspuserData.MailingAddress,
                PhoneNumber        = aspuserData.PhoneNumber,
                ResidenceAddress   = aspuserData.ResidenceAddress,
                Telephone          = aspuserData.Telephone,
                Title              = aspuserData.Title,
                IsEmp              = false
            };

            IsEmployee x = db.IsEmployee.Where(c => c.UserId == UserName).FirstOrDefault();

            if (x != null)
            {
                result.IsEmp = true;
            }
            return(result);
        }
        public static bool GetIsEmployee(this IIdentity identity)
        {
            //string claimValue = ((ClaimsIdentity)identity).FindFirst("UserName").Value;
            Repository <IsEmployee> dbEmployee = new Repository <IsEmployee>();
            IsEmployee iee = dbEmployee.GetByID(identity.Name);

            // Test for null to avoid issues during local testing
            return((iee != null) ? true : false);
        }
        public async Task <ActionResult> Register(RegisterViewModel modal, FormCollection form)
        {
            int    CityId           = 0;
            int    DistrictId       = 0;
            int    RoadId           = 0;
            string LnStr            = form["AddressRLn"];
            string AlyStr           = form["AddressRAly"];
            string NoStr            = form["AddressRNo"];
            string FStr             = form["AddressRF"];
            string RmStr            = form["AddressRRm"];
            string dontcheckgrc     = form["dontcheckgrc"];
            string dontcheckemail   = form["dontcheckemail"];
            string registerEmployee = form["registerEmployee"];
            bool   checkAddress     = false;

            if (int.TryParse(form["selectRCity"], out CityId))
            {
                if (int.TryParse(form["selectRDistrict"], out DistrictId))
                {
                    if (int.TryParse(form["selectRRoad"], out RoadId))
                    {
                        checkAddress = true;
                    }
                }
            }

            IRecaptcha <RecaptchaV2Result> recaptcha = new RecaptchaV2(new RecaptchaV2Data()
            {
                Secret = "6LfqzzcUAAAAAHgafe6oixzCCTIZOzvbPbGta8fT"
            });

            RecaptchaV2Result recaptchaResult = recaptcha.Verify();

            if ((dontcheckgrc == "on" || recaptchaResult.Success) && ModelState.IsValid && checkAddress)
            //if (ModelState.IsValid)
            {
                string CityName         = db.AddressCity.Where(n => n.Id == CityId).Select(n => n.Name).FirstOrDefault();
                string DistrictName     = db.AddressDistrict.Where(n => n.Id == DistrictId).Select(n => n.Name).FirstOrDefault();
                string RoadName         = db.AddressRoad.Where(n => n.Id == RoadId).Select(n => n.Name).FirstOrDefault();
                string ResidenceAddress = CityName + " " + DistrictName + " " + RoadName;
                if (LnStr != string.Empty)
                {
                    ResidenceAddress += " " + LnStr + "巷";
                }
                if (AlyStr != string.Empty)
                {
                    ResidenceAddress += " " + AlyStr + "弄";
                }
                if (NoStr != string.Empty)
                {
                    ResidenceAddress += " " + NoStr + "號";
                }
                if (FStr != string.Empty)
                {
                    ResidenceAddress += " " + FStr + "樓";
                }
                if (RmStr != string.Empty)
                {
                    ResidenceAddress += " " + RmStr + "室";
                }

                var user = new ApplicationUser {
                    UserName             = modal.Email
                    , Email              = modal.Email
                    , Name               = modal.Name
                    , ResidenceAddress   = ResidenceAddress
                    , IdentityCardNumber = modal.IdentityCardNumber
                    , BirthDay           = modal.BirthDay
                };
                var result = await UserManager.CreateAsync(user, modal.Password);

                if (result.Succeeded)
                {
                    AspNetUsers          anuFixData = db.AspNetUsers.Where(n => n.UserName == user.UserName).First();
                    UserResidenceAddress ura        = new UserResidenceAddress {
                        Id                = anuFixData.Id,
                        AddressCityId     = CityId,
                        AddressDistrictId = DistrictId,
                        AddressRoadId     = RoadId,
                        AddressLn         = LnStr,
                        AddressAly        = AlyStr,
                        AddressNo         = NoStr,
                        AddressF          = FStr,
                        AddressRm         = RmStr
                    };
                    db.UserResidenceAddress.Add(ura);
                    if (registerEmployee == "on")
                    {
                        IsEmployee nie = new IsEmployee {
                            UserId       = modal.Email,
                            RegisterDate = DateTime.Now
                        };
                        db.IsEmployee.Add(nie);
                    }
                    db.SaveChanges();
                    //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                    //return RedirectToAction("TestSuccessLogin", "Account");
                    if (dontcheckemail == "on")
                    {
                        anuFixData.EmailConfirmed = true;
                        db.SaveChanges();
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        return(RedirectToAction("Index", "Default", new { area = "" }));
                    }
                    var callbackUrl = await generateConfirmAccountEmail(user.Id);

#if DEBUG
                    TempData["ViewBagLink"] = callbackUrl;
#endif

                    ViewBag.Message = "請完成帳號的電子郵件認證,方可登入。";

                    return(View("Info"));
                }
            }
            return(View(modal));
        }
        public ActionResult setDemoAccountDefault()
        {
            string      demoAccount = "*****@*****.**";
            AspNetUsers anu         = db.AspNetUsers.Where(n => n.UserName == demoAccount).FirstOrDefault();

            if (anu != null)
            {
                var ura = db.UserResidenceAddress.Where(n => n.Id == anu.Id).FirstOrDefault();
                if (ura != null)
                {
                    db.UserResidenceAddress.Remove(ura);
                    db.SaveChanges();
                }
                var uma = db.UserMailAddress.Where(n => n.Id == anu.Id).FirstOrDefault();
                if (uma != null)
                {
                    db.UserMailAddress.Remove(uma);
                    db.SaveChanges();
                }
                var uns = db.UserNews.Where(n => n.fromUser == anu.UserName || n.UserId == anu.UserName).ToList();
                if (uns != null)
                {
                    foreach (var un in uns)
                    {
                        IEnumerable <UserNewsUrls> unu = db.UserNewsUrls.Where(n => n.UserNewsSn == un.sn);
                        if (unu.Count() != 0)
                        {
                            db.UserNewsUrls.RemoveRange(unu);
                        }
                        IEnumerable <UserNewsConfirmList> uncl = db.UserNewsConfirmList.Where(n => n.UserNewsSn == un.sn);
                        if (uncl.Count() != 0)
                        {
                            db.UserNewsConfirmList.RemoveRange(uncl);
                        }
                    }
                    db.UserNews.RemoveRange(uns);
                }
                var uru = db.uRoleUsers.Where(n => n.uUserID == anu.UserName);
                if (uru != null)
                {
                    db.uRoleUsers.RemoveRange(uru);
                }
                var urpchs = db.uRolePowerConfirmHistory.Where(n => n.UserID == anu.UserName).ToList();
                if (urpchs.Count() > 0)
                {
                    foreach (var urpch in urpchs)
                    {
                        IEnumerable <uRolePowerConfirmHistoryConfirmData> urpchcds = db.uRolePowerConfirmHistoryConfirmData.Where(n => n.uRolePowerConfirmHistorySn == urpch.urpchSn).ToList();
                        if (urpchcds.Count() > 0)
                        {
                            foreach (var urpchcd in urpchcds)
                            {
                                IEnumerable <uRolePowerConfirmHistoryConfirmDataDetail> urpchcdds = db.uRolePowerConfirmHistoryConfirmDataDetail.Where(n => n.uRolePowerConfirmHistoryConfirmDataSn == urpchcd.urpchcdSn);
                                if (urpchcdds.Count() > 0)
                                {
                                    db.uRolePowerConfirmHistoryConfirmDataDetail.RemoveRange(urpchcdds);
                                }
                            }
                            db.uRolePowerConfirmHistoryConfirmData.RemoveRange(urpchcds);
                        }
                        IEnumerable <uRolePowerConfirmHistoryDetail> urpchds = db.uRolePowerConfirmHistoryDetail.Where(n => n.uRolePowerConfirmHistorySn == urpch.urpchSn);
                        if (urpchds.Count() > 0)
                        {
                            db.uRolePowerConfirmHistoryDetail.RemoveRange(urpchds);
                        }
                    }
                    db.uRolePowerConfirmHistory.RemoveRange(urpchs);
                }
                IsEmployee isee = db.IsEmployee.Where(n => n.UserId == anu.UserName).FirstOrDefault();
                if (isee != null)
                {
                    db.IsEmployee.Remove(isee);
                }
                var anul = db.AspNetUserLogins.Where(n => n.UserId == anu.Id).FirstOrDefault();
                if (anul != null)
                {
                    db.AspNetUserLogins.Remove(anul);
                }
                db.AspNetUsers.Remove(anu);
                db.SaveChanges();
                return(Content("以成功移除"));
            }
            IEnumerable <ShoppingCart> scs = db.ShoppingCart.ToList();

            if (scs.Count() > 0)
            {
                db.ShoppingCart.RemoveRange(scs);
                db.SaveChanges();
            }
            IEnumerable <FundOrderDetail> fod = db.FundOrderDetail.ToList();

            if (fod.Count() > 0)
            {
                db.FundOrderDetail.RemoveRange(fod);
                db.SaveChanges();
            }
            IEnumerable <FundOrder> fo = db.FundOrder.ToList();

            if (fo.Count() > 0)
            {
                db.FundOrder.RemoveRange(fo);
                db.SaveChanges();
            }
            Session["CartID"] = null;

            return(Content("沒有Demo帳號資料"));
        }