Пример #1
0
        private static void InitialSeed(ProcurementContext db, UnitOfWorkProcurement unit)
        {
            var roles = new List <Role>()
            {
                new Role()
                {
                    Name = "Admin"
                },
                new Role()
                {
                    Name = "Custumer"
                },
                new Role()
                {
                    Name = "Supplier"
                }
            };
            IRepositoryRole repRole = new RepositoryRole(db, unit);

            repRole.InsertRange(roles);
            unit.SaveChanges();

            User admin = new User()
            {
                Name     = "Admin",
                UserType = Model.Enums.UserType.Admin,
                Password = "******",
                Email    = "*****@*****.**",
                Login    = "******"
            };
            IRepositoryUser repUser = new RepositoryUser(db, unit);

            repUser.Insert(admin);
            AdminInfo adminInfo = new AdminInfo()
            {
                User = admin
            };
            IRepositoryAdminInfo repAdminInfo = new RepositoryAdminInfo(db, unit);

            repAdminInfo.Insert(adminInfo);

            unit.SaveChanges();

            Role roleAdmin = repRole.Queryable().Where(r => r.Name == "Admin").FirstOrDefault();

            roleAdmin.Users.Add(admin);
            repRole.Update(roleAdmin);


            unit.SaveChanges();
        }
Пример #2
0
        public ActionResult Register(RegisterModel model, bool captchaValid, string returnUrl)
        {
            if (ModelState.IsValid && captchaValid)
            {
                // Attempt to register the user
                RepositoryUser repoUser = new RepositoryUser(Server.MapPath("~/App_Data/FrmBlog.db"), DbType.SqLite);
                if (repoUser.IsRecordUser(model.Email))
                {
                    ModelState.AddModelError("Email", "Email başka bir kullanıcıya ait");
                    return(View(model));
                }
                User user = new Models.User();
                user.Email       = model.Email;
                user.RoleId      = Role.Member.RoleId;
                user.Name        = model.UserName;
                user.Password    = model.Password;
                user.PicturePath = new FrmBlog.Avatar.Avatar().GetRandomAvatar();
                user.DisplayName = model.UserName;
                repoUser.Insert(user);
                IFormsAuthentication auth = new FormsAuthenticationWrapper();
                auth.SetAuthCookie(user.Email, true);
                if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                    !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                {
                    return(Redirect(returnUrl));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            if (!captchaValid)
            {
                ModelState.AddModelError("", "Doğrulama kodu yanlış");
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #3
0
        public ModelViewUser Insert(ModelViewUser model)
        {
            var objRepository = new RepositoryUser();
            var objSecurity   = new BusinessSecurity();

            bool   salir = false;
            string token = "";

            while (!salir)
            {
                token = objSecurity.GenerateToken();
                if (objRepository.GetToken(token) == null)
                {
                    salir = true;
                }
            }
            string clave = objSecurity.GeneratePassword(8);

            if (objRepository.GetEmail(model.Email) != null)
            {
                throw new Exception("DuplicateEmail");
            }

            if (objRepository.GetUserName(model.UserName) != null)
            {
                throw new Exception("DuplicateUser");
            }


            EntityUser data = new EntityUser()
            {
                UserID           = model.UserID,
                ProfileID        = model.ProfileID,
                UserName         = model.UserName,
                Name             = model.Name,
                Password         = new BusinessCryptoMD5(GlobalConfiguration.CryptoKey).CryptoString(clave),
                Token            = token,
                ChangePassword   = true,
                Email            = model.Email,
                Status           = true,
                DateLastAccess   = DateTime.UtcNow,
                DateCreate       = DateTime.UtcNow,
                DateModification = DateTime.UtcNow
            };

            data = objRepository.Insert(data);

            model.UserID = data.UserID;

            List <string> arr = new List <string>();

            arr.Add(model.Email);

            string sb = File.ReadAllText(GlobalConfiguration.LocateBodyMail + "NotificationUserBodyContent.txt");

            sb = sb.Replace("#%NombreUsuario%#", data.UserName);
            sb = sb.Replace("#%ClaveTemporal%#", clave);
            sb = sb.Replace("#%Nombre%#", data.Name);
            //Nombre de usuario, usuario, pass,
            //new BusinessNotification().SendMails(arr, "Mabe - Registro de usuario ServiPlus", sb);
            new BusinessNotification().SendMailExchange(GlobalConfiguration.exchangeUser, GlobalConfiguration.exchangePwd, arr, "Mabe - Registro de usuario ServiPlus", sb);
            return(model);
        }
Пример #4
0
        public ActionResult Detay(long id, string title, FormCollection frmCol, bool captchaValid)
        {
            ViewBag.isPostBack = "1";
            if (Request.IsAuthenticated)
            {
                FrmViewData frm          = new FrmViewData();
                User        user         = _repoUser.GetUserByEmail(HttpContext.User.Identity.Name);
                bool        createAnswer = true;
                if (string.IsNullOrEmpty(frmCol["description"]) || frmCol["description"].Length < 17)
                {
                    //ModelState.AddModelError("desciption", "Detaylı Açıklama Boş olamaz ve en az 10 karekter uzunluğunda olması gerekli");
                    ModelState.AddModelError("", "Detaylı Açıklama boş olamaz ve en az 10 karekter uzunluğunda olması gerekli");
                    createAnswer = false;
                }

                //if (!captchaValid)
                //{
                //    ModelState.AddModelError("valid", "Doğrulama kodu yanlış.");
                //    createAnswer = false;
                //}
                if (createAnswer)
                {
                    Answer answer = new Answer();
                    answer.BestReply  = false;
                    answer.Date       = DateTime.Now;
                    answer.IPAddress  = GetIpAddress();
                    answer.Reply      = frmCol["description"].Replace("'", "%t%").Replace("@", "@@");
                    answer.State      = State.Yayinda;
                    answer.User       = user;
                    answer.UserId     = user.UserId;
                    answer.QuestionId = id;
                    _repoAns.Insert(answer);
                }
                frm.Question = _repoQues.GetById(id);
                frm.Tags     = _repoTag.GetListByQuestionId(id);
                frm.Answers  = _repoAns.GetListByQuestionId(id);
                List <Question> benzerSorular = BulBenzerSorulari <long>(frm);
                frm.Questions = benzerSorular;

                ViewBag.Title = frm.Question.Title;
                return(View(frm));
            }
            else
            {
                bool createUser = true;
                if (string.IsNullOrEmpty(frmCol["description"]) || frmCol["description"].Length < 17)
                {
                    //ModelState.AddModelError("desciption", "Detaylı Açıklama Boş olamaz ve en az 10 karekter uzunluğunda olması gerekli");
                    ModelState.AddModelError("", "Detaylı Açıklama boş olamaz ve en az 10 karekter uzunluğunda olması gerekli");
                    createUser = false;
                }
                ValiDateUser(frmCol, ref createUser);
                if (!captchaValid)
                {
                    ModelState.AddModelError("valid", "Doğrulama kodu yanlış");
                    ModelState.AddModelError("", "Doğrulama kodu yanlış");
                    createUser = false;
                }
                if (createUser)
                {
                    User user = new Models.User();
                    user.Email       = frmCol["RegisterModel.Email"];
                    user.RoleId      = Role.Member.RoleId;
                    user.Name        = frmCol["RegisterModel.UserName"];
                    user.Password    = frmCol["RegisterModel.Password"];
                    user.PicturePath = new FrmBlog.Avatar.Avatar().GetRandomAvatar();
                    _repoUser.Insert(user);
                    IFormsAuthentication auth = new FormsAuthenticationWrapper();
                    auth.SetAuthCookie(user.Email, true);

                    Answer answer = new Answer();
                    answer.BestReply  = false;
                    answer.Date       = DateTime.Now;
                    answer.IPAddress  = GetIpAddress();
                    answer.Reply      = frmCol["description"].Replace("'", "%t%");
                    answer.State      = State.Yayinda;
                    answer.User       = _repoUser.GetUserByEmail(user.Email);
                    answer.UserId     = answer.User.UserId;
                    answer.QuestionId = id;
                    _repoAns.Insert(answer);
                }
                FrmViewData frm = new FrmViewData();
                frm.Question = _repoQues.GetById(id);
                frm.Tags     = _repoTag.GetListByQuestionId(id);
                frm.Answers  = _repoAns.GetListByQuestionId(id);
                List <Question> benzerSorular = BulBenzerSorulari <long>(frm);
                frm.Questions = benzerSorular;
                ViewBag.Title = frm.Question.Title;
                return(RedirectToAction("Detay", new { id = id, title = title }));
            }
        }
Пример #5
0
        public ActionResult LogOnPostAssertion(string openid_openidAuthData)
        {
            IAuthenticationResponse response;

            if (!string.IsNullOrEmpty(openid_openidAuthData))
            {
                var auth    = new Uri(openid_openidAuthData);
                var headers = new WebHeaderCollection();
                foreach (string header in Request.Headers)
                {
                    headers[header] = Request.Headers[header];
                }

                // Always say it's a GET since the payload is all in the URL, even the large ones.
                HttpRequestInfo clientResponseInfo = new HttpRequestInfo("GET", auth, auth.PathAndQuery, headers, null);
                response = RelyingParty.GetResponse(clientResponseInfo);
            }
            else
            {
                response = RelyingParty.GetResponse();
            }
            if (response != null)
            {
                switch (response.Status)
                {
                case AuthenticationStatus.Authenticated:
                    string alias = response.FriendlyIdentifierForDisplay;
                    var    sreg  = response.GetExtension <ClaimsResponse>();
                    if (sreg != null && sreg.MailAddress != null)
                    {
                        RepositoryUser userRepo = new RepositoryUser("", DbType.SqLite);
                        if (!userRepo.IsRecordUser(sreg.MailAddress.Address.Trim()))
                        {
                            FrmBlog.Models.User user = new FrmBlog.Models.User();
                            user.DisplayName = sreg.MailAddress.DisplayName;
                            user.Email       = sreg.MailAddress.Address;
                            user.RecordDate  = DateTime.Now;
                            user.RoleId      = FrmBlog.Models.Role.Member.RoleId;
                            user.Name        = sreg.MailAddress.User;
                            user.PicturePath = new FrmBlog.Avatar.Avatar().GetRandomAvatar();
                            userRepo.Insert(user);
                        }
                        else
                        {
                            var user = userRepo.GetUserByEmail(sreg.MailAddress.Address);
                        }
                        //FormsAuthenticationTicket authTicket = new
                        //FormsAuthenticationTicket(1, //version
                        //response.ClaimedIdentifier, // user name
                        //DateTime.Now,             //creation
                        //DateTime.Now.AddMonths(12), //Expiration
                        //true, //Persistent
                        //sreg.MailAddress.Address);

                        //  string encTicket = FormsAuthentication.Encrypt(authTicket);

                        //  this.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
                        //  alias = sreg.MailAddress.User;
                        FormsAuthentication.SetAuthCookie(sreg.MailAddress.Address, true);
                    }
                    //if (sreg != null && !string.IsNullOrEmpty(sreg.FullName))
                    //{
                    //    alias = sreg.FullName;
                    //}

                    //FormsAuthenticationTicket authTicket = new
                    //    FormsAuthenticationTicket(1, //version
                    //    response.ClaimedIdentifier, // user name
                    //    DateTime.Now,             //creation
                    //    DateTime.Now.AddDays(365), //Expiration
                    //    false, //Persistent
                    //    alias);

                    //string encTicket = FormsAuthentication.Encrypt(authTicket);

                    //this.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));


                    string returnUrl = Request.Form["returnUrl"];
                    if (!String.IsNullOrEmpty(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }

                case AuthenticationStatus.Canceled:
                    ModelState.AddModelError("OpenID", "It looks like you canceled login at your OpenID Provider.");
                    break;

                case AuthenticationStatus.Failed:
                    ModelState.AddModelError("OpenID", response.Exception.Message);
                    break;
                }
            }

            // If we're to this point, login didn't complete successfully.
            // Show the LogOn view again to show the user any errors and
            // give another chance to complete login.
            return(View("LogOn"));
        }