예제 #1
0
        public ActionResult AddHr(vUser vUser, HttpPostedFileBase img1)
        {
            if (ModelState.IsValid)
            {
                byte[] encPassword = EncPassword(vUser.Password);
                using (var context = new AttendanceManagment())
                {
                    var user = new User()
                    {
                        UserName   = vUser.UserName,
                        Email      = vUser.Email,
                        Password   = encPassword,
                        UserTypeId = 2
                    };
                    context.Users.Add(user);
                    context.SaveChanges();

                    var userDetail = new UserDetail()
                    {
                        UserId  = user.UserId,
                        Address = vUser.Address
                    };
                    userDetail.ProfilePhoto = new byte[img1.ContentLength];
                    img1.InputStream.Read(userDetail.ProfilePhoto, 0, img1.ContentLength);
                    context.UserDetails.Add(userDetail);
                    context.SaveChanges();
                }
            }
            return(View());
        }
예제 #2
0
        public override UserViewModel GetModelById(object id)
        {
            vUser model = Context.vUsers.Find(id);

            UserViewModel viewModel = Mapper.Map <vUser, UserViewModel>(model);

            return(viewModel);
        }
예제 #3
0
        private void AddCookie(vUser user, string value)
        {
            var cookieName = user.UserId == 0 ? ANONYMOUS : REQUEST_IDENTITY;

            if (cookieName == REQUEST_IDENTITY && ContextAccessor.HttpContext.Request.Cookies.ContainsKey(ANONYMOUS))
            {
                ContextAccessor.HttpContext.Response.Cookies.Delete(ANONYMOUS);
            }
            ContextAccessor.HttpContext.Response.Cookies.Append(cookieName, value);
        }
예제 #4
0
        public void GetByUserNameTest3()
        {
            UserService target   = CreateNewUserService();
            string      userName = "******";
            vUser       actual   = (vUser)target.GetByUserNameV(userName);

            Assert.AreEqual(actual.UserName, userName.ToLower());
            Assert.AreEqual(actual.UserID, 1);
            Assert.AreEqual(actual.Email, "*****@*****.**".ToLower());
        }
        public ActionResult SignIn(vUser user)
        {
            if (user.UserName != null && user.Password != null)
            {
                string input  = user.Password;
                string key    = "sblw-3hn8-sqoy19";
                byte[] EncStr = UTF8Encoding.UTF8.GetBytes(input);
                TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
                tripleDES.Key     = UTF8Encoding.UTF8.GetBytes(key);
                tripleDES.Mode    = CipherMode.ECB;
                tripleDES.Padding = PaddingMode.PKCS7;
                ICryptoTransform cryptoTransform = tripleDES.CreateEncryptor();
                byte[]           result          = cryptoTransform.TransformFinalBlock(EncStr, 0, EncStr.Length);

                using (var context = new AttendanceManagment())
                {
                    var isUserValid = context.Users.Where(t => t.UserName == user.UserName && t.Password == result).FirstOrDefault <User>();
                    if (isUserValid != null)
                    {
                        var userDetial = context.UserDetails.Where(t => t.UserId == isUserValid.UserId).FirstOrDefault <UserDetail>();
                        Session["UserId"] = isUserValid.UserId;
                        //Session["UserName"] = isUserValid.UserName;
                        //Session["ProfilePhoto"] = userDetial.ProfilePhoto;
                        if (isUserValid.UserTypeId == 1)
                        {
                            FormsAuthentication.SetAuthCookie(isUserValid.UserName, false);
                            return(RedirectToAction("Home", "Home", new { area = "Admin" }));
                        }
                        else if (isUserValid.UserTypeId == 2)
                        {
                            FormsAuthentication.SetAuthCookie(isUserValid.UserName, false);
                            return(RedirectToAction("Home", "Home", new { area = "HR" }));
                        }
                        else if (isUserValid.UserTypeId == 3)
                        {
                            FormsAuthentication.SetAuthCookie(isUserValid.UserName, false);
                            return(RedirectToAction("Home", "Home", new { area = "Employee" }));
                        }
                        else
                        {
                            return(View());
                        }
                    }
                    else
                    {
                        return(View());
                    }
                    // return Content("<b>" + isUserValid.UserName);
                }
            }
            else
            {
                return(View());
            }
        }
        public async Task <KeyValuePair <string, string> > GetTokenAsync(vUser user)
        {
            var token = TokenProvider.WriteToken(new[] {
                new Claim(
                    ClaimTypes.NameIdentifier, user.UserId.ToString()),
                new Claim(ClaimTypes.Locality, user.LanguageCode),
                new Claim(CustomClaimTypes.TimeZone, user.ApplicationTimeZoneName)
            }, "Web", "User", DateTime.Now.AddDays(2));
            await UserAccessConfig.SaveTokenAsync(user.UserId, "web", token, LoginUow);

            return(token);
        }
예제 #7
0
        public async Task <string> RefereshTokenAsync(vUser user, UserConfig userConfig)
        {
            if (!string.IsNullOrEmpty(userConfig.LanguageCode))
            {
                var userRecord = await LoginUow.Repository <User>().SingleAsync(t => t.UserId == user.UserId);

                userRecord.LanguageCode = userConfig.LanguageCode;
                await LoginUow.RegisterDirtyAsync <User>(userRecord);

                await LoginUow.CommitAsync();
            }
            await UserAccessConfig.RemoveTokenAsync(user.UserId, userConfig.AudienceType, LoginUow);

            return(await this.GetTokenAsync(user));
        }
예제 #8
0
        public async Task <string> GetTokenAsync(vUser user)
        {
            var expirationTime = user.UserId == 0 ? DateTime.UtcNow.AddDays(1) : DateTime.UtcNow.AddMinutes(30);
            var token          = TokenProvider.WriteToken(new[] {
                new Claim(
                    ClaimTypes.NameIdentifier, user.UserId.ToString()),
                new Claim(ClaimTypes.Anonymous, (user.UserId == 0).ToString()),
                new Claim(ClaimTypes.Locality, user.LanguageCode),
                new Claim(CustomClaimTypes.TimeZone, user.ApplicationTimeZoneName)
            }, "Web", "User", expirationTime);

            if (user.UserId != 0)
            {
                await UserAccessConfig.SaveTokenAsync(user.UserId, "web", token, LoginUow);
            }
            this.AddCookie(user, token.Key);
            return(token.Value);
        }
예제 #9
0
        public void appEntities_EN_ConstructorTest()
        {
            List <EntityADK> list = new List <EntityADK>();

            vUser v = new vUser();
            // we find all classes in common layer and we test all classes against it
            List <string> classes = GetClasses("UTD.Tricorder.Common.ServiceInterfaces", v.GetType().Assembly);

            foreach (string c in classes)
            {
                string className = c.Substring(1, c.Length - 8);
                list.Add(new EntityADK(className, ""));
            }

            list.Add(new EntityADK(vVitalValue.EntityName, VitalValueEN.AdditionalData_MyVital));

            TestList(list);
        }
예제 #10
0
        public static vUser vUser(int? count)
        {
            var rtValue = new vUser();
            rtValue.LoginId = "LoginId" + count.Extra();
            rtValue.LastName = "LastName" + count.Extra();
            rtValue.FirstName = "FirstName" + count.Extra();
            rtValue.Email = "*****@*****.**";

            return rtValue;
        }
예제 #11
0
        public ActionResult AddEmployee()
        {
            vUser user = new vUser();

            return(View(user));
        }