Exemple #1
0
        public static LoggedUserModel GetUser()
        {
            try
            {
                LoggedUserModel usr        = null;
                HttpCookie      authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
                if (authCookie != null)
                {
                    // Get the forms authentication ticket.
                    FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                    var identity = new System.Security.Principal.GenericIdentity(authTicket.Name, "Forms");
                    //var principal = new System.Security.Principal.IPrincipal(identity);

                    // Get the custom user data encrypted in the ticket.
                    string userData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData;

                    // Deserialize the json data and set it on the custom principal.
                    var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                    usr = (LoggedUserModel)serializer.Deserialize(userData, typeof(LoggedUserModel));
                }
                return(usr);
            }
            catch (Exception ex)
            {
                //System.Web.HttpContext.Current.Response.Redirect(Tools.config.url + "admin/login/logoff");
                return(null);
            }
        }
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            DateTime        now = DateTime.Now;
            LoggedUserModel usr = GetCurrentUser.GetUser();

            if (usr != null && (usr.kullanici_turu == KullaniciTurleri.super_admin || usr.fm != null))
            {
                if (usr.kullanici_turu != KullaniciTurleri.super_admin && !(now >= usr.fm.baslangic_tarihi && now <= usr.fm.bitis_tarihi))
                {
                    filterContext.Result = new RedirectResult("~/Logoff");
                }
                else
                {
                    //int a = GetCurrentUser.GetUserAdmin().user_type;
                    //if (GetCurrentUser.GetUserAdmin().user_type == UserTypes.yonetici)
                    if (usr.kullanici_turu != KullaniciTurleri.super_admin && area.Equals("Admin"))
                    {
                        filterContext.Result = new RedirectResult("~/Admin/Adminlogin/Logoff");
                    }
                    else if (!(usr.kullanici_turu == KullaniciTurleri.super_admin || usr.kullanici_turu == KullaniciTurleri.firma_admin) && area.Equals("Yonetici"))
                    {
                        filterContext.Result = new RedirectResult("~/" + hedefSayfa);
                    }
                    else if (!(usr.kullanici_turu == KullaniciTurleri.super_admin || usr.kullanici_turu == KullaniciTurleri.firma_admin || usr.kullanici_turu == KullaniciTurleri.firma_yetkili) && area.Equals("Yetkili"))
                    {
                        filterContext.Result = new RedirectResult("~/" + hedefSayfa);
                    }
                }
            }
            else
            {
                filterContext.Result = new RedirectResult("~/Logoff");
            }
            base.OnAuthorization(filterContext);
        }
        public HttpResponseMessage PutLogoutUser(LoggedUserModel model)
        {
            var responceMsg = this.PerformOperationAndHandleExceptions(() =>
            {
                var context = new ForumDbContext();
                using (context)
                {
                    var sessionKey = model.SessionKey;

                    var user = context.Users.FirstOrDefault(usr =>
                                                            usr.SessionKey == sessionKey);


                    if (user == null)
                    {
                        throw new InvalidOperationException("Something went terribly wrong");
                    }


                    user.SessionKey = null;
                    context.SaveChanges();

                    var responce = this.Request.CreateResponse(HttpStatusCode.NoContent);

                    return(responce);
                }
            });

            return(responceMsg);
        }
        public void TestWithInvalidPostWithoutTitle_ShouldReturnBadRequest()
        {
            var testPost = new Post()
            {
                Tags = new List <Tag>()
                {
                    new Tag()
                    {
                        Name = "technology"
                    },
                },
                Text = "this is just a test post"
            };

            var testUser = new UserModel()
            {
                Username    = "******",
                DisplayName = "VALIDNICK",
                AuthCode    = new string('b', 40)
            };
            LoggedUserModel userModel = RegisterTestUser(httpServer, testUser);

            var headers = new Dictionary <string, string>();

            headers["X-sessionKey"] = userModel.SessionKey;

            var response = httpServer.Post("api/posts", testPost, headers);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
        public async Task <ActionResult> MesajimGoster(string id)
        {
            LoggedUserModel lgm = GetCurrentUser.GetUser();

            List <object> nesneler = new List <object>();

            var kl = db.kullanicilar.Where(e => e.flag == durumlar.aktif && e.firma_id == lgm.firma_id && e.id != lgm.id).ToListAsync();
            var m  = db.mesajlar.Where(e => e.flag != durumlar.silindi && e.url.Equals(id)).FirstOrDefaultAsync();

            await Task.WhenAll(kl, m);

            List <kullanicilar> kullaniciList = kl.Result;
            mesajlar            msj           = m.Result;

            if (msj == null)
            {
                msj = new mesajlar();
            }

            List <mesajlar> mesajList = db.mesajlar.Where(e => e.flag != durumlar.silindi && e.parent_url.Equals(msj.parent_url)).OrderByDescending(e => e.date).Take(mesajSize).ToList();

            nesneler.Add(kullaniciList);
            nesneler.Add(msj);
            nesneler.Add(mesajList.OrderBy(e => e.date).ToList());
            nesneler.Add(lgm);


            if (msj.alan_id == lgm.id)
            {
                mesajIslemleri.okunduIsaretle(msj.parent_url);
            }

            return(View(nesneler));
        }
Exemple #6
0
        public JsonSonuc projeSurecAktiflestir(string url)
        {
            try
            {
                vrlfgysdbEntities db  = new vrlfgysdbEntities();
                LoggedUserModel   lgm = GetCurrentUser.GetUser();
                proje_surec       ps  = db.proje_surec.Where(e => e.url.Equals(url)).FirstOrDefault();
                if (ps == null)
                {
                    return(JsonSonuc.sonucUret(false, "Proje/Süreç bulunamadı."));
                }
                ps.durum = TamamlamaDurumlari.basladi;

                List <gorev_proje> projeGorevList = db.gorev_proje.Where(e => e.proje_id == ps.id && e.flag == durumlar.aktif && e.gorevler.flag == durumlar.aktif).ToList();

                foreach (gorev_proje gp in projeGorevList)
                {
                    gp.gorevler.durum  = TamamlamaDurumlari.basladi;
                    db.Entry(gp).State = EntityState.Modified;
                }

                db.Entry(ps).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception)
            {
                return(JsonSonuc.sonucUret(false, "İşlem sırasında bir hata oluştu. Lütfen tekrar deneyiniz."));
            }
            return(JsonSonuc.sonucUret(true, "Proje/Süreç durumu güncellendi."));
        }
Exemple #7
0
        public HttpResponseMessage PostRegisterUser(UserRegisterModel userModel)
        {
            HttpResponseMessage responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
            {
                this.ValidateUser(userModel);

                User user = new User()
                {
                    Username = userModel.Username,
                    Nickname = userModel.DisplayName,
                    AuthCode = userModel.AuthCode,
                    Email    = userModel.Email
                };

                User registeredUser = this.manipulator.Register(user);

                var loggedModel = new LoggedUserModel()
                {
                    Id         = registeredUser.Id.ToString(),
                    Nickname   = registeredUser.Nickname,
                    SessionKey = registeredUser.SessionKey
                };

                var response = this.Request.CreateResponse(HttpStatusCode.Created, loggedModel);
                return(response);
            }
                );

            return(responseMsg);
        }
        public JsonSonuc projeKullanicisiSil(int id)
        {
            try
            {
                LoggedUserModel lgm = GetCurrentUser.GetUser();

                vrlfgysdbEntities db = new vrlfgysdbEntities();
                kullanici_proje   kp = db.kullanici_proje.Where(e => e.id.Equals(id)).FirstOrDefault();
                kp.flag            = durumlar.silindi;
                db.Entry(kp).State = EntityState.Modified;

                if (kp.proje_surec != null)
                {
                    if (kp.proje_surec.tur == ProjeSurecTur.proje)
                    {
                        bildirimIslemleri.yeniBildirim(kp.kullanici_id, BildirimTurleri.proje, kp.proje_id, "", kp.proje_surec.isim + " isimli proje sizden alındı. İşlemi yapan yetkili " + lgm.ad + " " + lgm.soyad + ".");
                    }
                    else if (kp.proje_surec.tur == ProjeSurecTur.surec)
                    {
                        bildirimIslemleri.yeniBildirim(kp.kullanici_id, BildirimTurleri.surec, kp.proje_id, "", kp.proje_surec.isim + " isimli süreç sizden alındı. İşlemi yapan yetkili " + lgm.ad + " " + lgm.soyad + ".");
                    }
                }
                db.SaveChanges();
            }
            catch (Exception)
            {
                return(JsonSonuc.sonucUret(false, "İşlem sırasında bir hata oluştu. Lütfen tekrar deneyiniz."));
            }
            return(JsonSonuc.sonucUret(true, "Kullanıcı silindi."));
        }
Exemple #9
0
        public async Task <LoggedUserModel> CreateToken(LoginModel model)
        {
            var user = await _userManager.FindByNameAsync(model.UserName);

            if (user != null)
            {
                if (_hasher.VerifyHashedPassword(user, user.PasswordHash, model.Password) == PasswordVerificationResult.Success)
                {
                    var userClaims = await _userManager.GetClaimsAsync(user);

                    var roleClaim = userClaims.First();

                    var token = GenerateJwtToken(user, userClaims);

                    var result = new LoggedUserModel
                    {
                        FirstName      = user.FirstName,
                        LastName       = user.LastName,
                        Token          = token,
                        Role           = Enum.Parse <RoleEnum>(roleClaim.Type),
                        CaloriesTarget = user.CaloriesTarget
                    };

                    return(result);
                }
            }
            _errors.Add("Bad Request: Login failed! User is not available!");
            return(null);
        }
Exemple #10
0
        //TODO Need to be removed
        public static string GetCurrentUserJson(IDependencyResolver resolver)
        {
            var result = new LoggedUserModel();

            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                result.IsAuthenticated = false;
            }
            else
            {
                var userManager           = resolver.GetService <IUserManager>();
                var permissionsRspManager = resolver.GetService <IRolePermissionRspManager>();
                var permissionsManager    = resolver.GetService <IPermissionManager>();

                var user = userManager.GetByLogin(HttpContext.Current.User.Identity.Name);

                result.IsAuthenticated = true;
                result.Name            = user.Name;

                var userPermissions = permissionsRspManager.GetEntities().Where(e => !e.DeleteDate.HasValue && user.RoleId == e.RoleId).ToList();

                result.Permissions = userPermissions.Where(o => o.Key == StringHelper.GetMD5Hash(String.Format("{0}_{1}", o.RoleId, o.PermissionId))).
                                     Select(o => o.Permission.Name).ToList();
            }

            return(JsonConvert.SerializeObject(result, new JsonSerializerSettings {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            }));
        }
        public async void LoginHandler()
        {
            try
            {
                _user.UserName = _user.UserName.Trim();
                string          hashedPassword = new SHA512Crypto().GetHashBase64String(_user.Password);
                LoggedUserModel loggedUser     = new LoggedUserModel();

                await Task.Run(() =>
                {
                    using (CoreContext context = new CoreContext())
                    {
                        User user = context.Users.FirstOrDefault(x => x.UserName.Equals(_user.UserName, StringComparison.InvariantCultureIgnoreCase) && x.PasswordHash.Equals(hashedPassword));
                        if (user != null)
                        {
                            loggedUser.ID              = user.ID;
                            loggedUser.UserName        = user.UserName;
                            loggedUser.FullName        = user.FullName;
                            loggedUser.Email           = user.Email;
                            loggedUser.IsAuthenticated = true;
                        }
                        else
                        {
                            loggedUser.IsAuthenticated = true;
                        }
                    }
                });

                GoToMainViewRequested?.Invoke(this, loggedUser);
            }
            catch (Exception ex)
            {
                LogHelper.LogException(new string[] { ex.ToString() });
            }
        }
Exemple #12
0
        public HttpResponseMessage PostLoginUser(UserModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
            {
                this.ValidateUsername(model.Username);
                this.ValidateAuthCode(model.AuthCode);
                var usernameToLower = model.Username.ToLower();
                var user            = this.Data.Users.All().FirstOrDefault(
                    usr => usr.Username == usernameToLower &&
                    usr.AuthCode == model.AuthCode);

                if (user == null)
                {
                    throw new InvalidOperationException("Invalid username or password");
                }

                if (user.SessionKey == null)
                {
                    user.SessionKey = this.GenerateSessionKey(user.Id);
                    this.Data.SaveChanges();
                }

                var loggedModel = new LoggedUserModel()
                {
                    DisplayName = user.DisplayName,
                    SessionKey  = user.SessionKey
                };

                var response = this.Request.CreateResponse(HttpStatusCode.Created, loggedModel);
                return(response);
            });

            return(responseMsg);
        }
Exemple #13
0
        public HttpResponseMessage PostLoginUser(UserModel model)
        {
            var context = new BankSystemEntities();

            using (context)
            {
                var user = context.Users.FirstOrDefault(
                    u => u.Username == model.Username.ToLower() &&
                    u.Password == model.Password);

                if (user == null)
                {
                    throw new InvalidOperationException("Invalid username or password");
                }
                if (user.AuthKey == null)
                {
                    user.AuthKey = this.GenerateSessionKey(user.Id);
                    context.SaveChanges();
                }

                var loggedModel = new LoggedUserModel()
                {
                    Id         = user.Id,
                    Username   = user.Username,
                    SessionKey = user.AuthKey
                };

                var response =
                    this.Request.CreateResponse(HttpStatusCode.Created,
                                                loggedModel);
                return(response);
            }
        }
Exemple #14
0
        public HttpResponseMessage LoginUser(UserModel model)
        {
            var baseResponse = this.TryToExecuteOperation(() =>
            {
                this.ValidateUsername(model.Username);
                this.ValidateAuthCode(model.AuthCode);
                var usernameToLower = model.Username.ToLower();
                var user            = repository.All()
                                      .FirstOrDefault(usr => usr.Username == usernameToLower && usr.AuthCode == model.AuthCode);

                if (user == null)
                {
                    throw new InvalidOperationException("Username is not exist!");
                }

                if (user.SessionKey == null)
                {
                    user.SessionKey = this.GenerateSessionKey(user.UserId);
                    repository.Update(user.UserId, user);
                }

                var userModel = new LoggedUserModel()
                {
                    DisplayName = user.DisplayName,
                    SessionKey  = user.SessionKey
                };

                var response = this.Request.CreateResponse(HttpStatusCode.Created, userModel);
                return(response);
            });

            return(baseResponse);
        }
Exemple #15
0
        public void resetLoginInfo()
        {
            vrlfgysdbEntities db = new vrlfgysdbEntities();
            int id = GetCurrentUser.GetUser().id;

            FormsAuthentication.SignOut();
            kullanicilar usr = db.kullanicilar.Where(e => e.id == id).FirstOrDefault();

            if (usr != null)
            {
                LoggedUserModel loggedUser = new LoggedUserModel();
                foreach (var property in loggedUser.GetType().GetProperties())
                {
                    try
                    {
                        var response = usr.GetType().GetProperty(property.Name).GetValue(usr, null).ToString();
                        if (response == null && property.PropertyType != typeof(int))
                        {
                            if (response == null)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            PropertyInfo propertyS = loggedUser.GetType().GetProperty(property.Name);
                            if (property.PropertyType == typeof(decimal))
                            {
                                propertyS.SetValue(loggedUser, Convert.ChangeType(Decimal.Parse(response.Replace('.', ',')), property.PropertyType), null);
                            }
                            else if (property.PropertyType == typeof(int))
                            {
                                if (response == null)
                                {
                                    propertyS.SetValue(loggedUser, Convert.ChangeType(0, property.PropertyType), null);
                                }
                                else
                                {
                                    propertyS.SetValue(loggedUser, Convert.ChangeType(Decimal.Parse(response.Replace('.', ',')), property.PropertyType), null);
                                }
                            }
                            else
                            {
                                propertyS.SetValue(loggedUser, Convert.ChangeType(response, property.PropertyType), null);
                            }
                        }
                    }
                    catch (Exception)
                    { }
                }
                Guid gd = new Guid();
                gd = Guid.NewGuid();
                string            query = "select * from firma_musavir where flag = " + durumlar.aktif.ToString() + " and id = " + loggedUser.firma_id;
                FirmaMusavirModel fmm   = db.Database.SqlQuery <FirmaMusavirModel>(query).FirstOrDefault();
                loggedUser.fm = fmm;
                SetAuthCookie(gd.ToString(), true, loggedUser);
            }
        }
        public ActionResult Index()
        {
            LoggedUserModel lgm       = GetCurrentUser.GetUser();
            string          userQuery = "select k.id, k.flag, k.ad, k.soyad, k.email, k.tel, k.kullanici_turu, k.url, fm.firma_adi from kullanicilar as k "
                                        + "left join firma_musavir as fm on k.firma_id = fm.id and fm.flag = " + durumlar.aktif.ToString() + " where k.id != " + lgm.id + " and k.flag != " + durumlar.silindi.ToString();
            List <KullaniciFirmaOzetModel> users = db.Database.SqlQuery <KullaniciFirmaOzetModel>(userQuery).ToList();

            return(View(users));
        }
Exemple #17
0
        public static void smsKaydet(string mesaj, int flag, int mailHedefTur, int hedefId, string hedef_numara, int gonderenId, int smsGroupId)
        {
            LoggedUserModel   lgm = GetCurrentUser.GetUser();
            vrlfgysdbEntities db  = new vrlfgysdbEntities();
            int vid = 1;

            if (db.smsler.Count() != 0)
            {
                vid = db.smsler.Max(e => e.vid) + 1;
            }
            int sort = 1;

            if (db.smsler.Count() != 0)
            {
                sort = db.smsler.Max(e => e.sort) + 1;
            }

            smsler sms = new smsler();

            sms.flag         = flag;
            sms.date         = DateTime.Now;
            sms.icerik       = mesaj;
            sms.vid          = vid;
            sms.gonderen_id  = gonderenId;
            sms.hedef_id     = hedefId;
            sms.hedef_numara = hedef_numara;
            sms.hedef_tur    = mailHedefTur;
            sms.sms_grup_id  = smsGroupId;
            sms.sort         = sort;
            sms.firma_id     = lgm.firma_id;

            string strImageName = StringFormatter.OnlyEnglishChar(Tools.OurFunctions.ourSubString(sms.icerik, 15));
            string createdUrl   = strImageName;
            string tempUrl      = createdUrl;
            bool   bulundu      = false;
            int    i            = 0;
            smsler pg           = new smsler();

            do
            {
                pg = db.smsler.Where(e => e.url.Equals(tempUrl)).FirstOrDefault();
                if (pg != null)
                {
                    tempUrl = tempUrl + i.ToString();
                }
                else
                {
                    createdUrl = tempUrl;
                    bulundu    = true;
                }
                i++;
            } while (!bulundu);
            sms.url = createdUrl;

            db.smsler.Add(sms);
            db.SaveChanges();
        }
Exemple #18
0
 private void ExitAppHandler(object sender, LoggedUserModel e)
 {
     if (e != null)
     {
         Global.LoggedUser = e;
         new MainWindow().Show();
         this.Close();
     }
 }
Exemple #19
0
        public static List <KullaniciProjeOzetModel> getFirmaKullanicilariOzet()
        {
            LoggedUserModel   lgm     = GetCurrentUser.GetUser();
            vrlfgysdbEntities db      = new vrlfgysdbEntities();
            string            pkQuery = "select k.url, k.ad, k.soyad, 0 as id, k.id as kullanici_id from kullanicilar as k "
                                        + "where k.flag = 1 and k.firma_id = " + lgm.firma_id;
            List <KullaniciProjeOzetModel> kpList = db.Database.SqlQuery <KullaniciProjeOzetModel>(pkQuery).ToList();

            return(kpList);
        }
        public static List <MusteriProjeOzetModel> getFirmaMusterilerOzet()
        {
            LoggedUserModel   lgm     = GetCurrentUser.GetUser();
            vrlfgysdbEntities db      = new vrlfgysdbEntities();
            string            pkQuery = "select 0 as id, m.ad, m.soyad, m.firma_adi, '' as kUrl, m.id as musteri_id from musteriler as m "
                                        + "where m.flag = 1 and m.firma_id = " + lgm.firma_id + ";";
            List <MusteriProjeOzetModel> mpList = db.Database.SqlQuery <MusteriProjeOzetModel>(pkQuery).ToList();

            return(mpList);
        }
 public JsonResult kullaniciProjeGorevleri(string kullanici_url)
 {
     try
     {
         LoggedUserModel lgm = GetCurrentUser.GetUser();
         string          projeSurecGorevQuery = "select id, oncelik, isim, DATE_FORMAT(baslangic_tarihi, '%d.%m.%Y') as baslangic_tarihi, DATE_FORMAT(bitis_tarihi, '%d.%m.%Y') as bitis_tarihi, yuzde, flag, tur, url, durum from ((select ps.id, 1 as oncelik, ps.isim, ps.baslangic_tarihi, ps.bitis_tarihi, ps.yuzde, ps.flag, ps.tur, ps.url, ps.durum from proje_surec as ps "
                                                + "inner join kullanici_proje as kp on kp.proje_id = ps.id "
                                                + "inner join kullanicilar as k on k.id = kp.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where ps.firma_id = " + lgm.firma_id.ToString() + " and (ps.durum = " + TamamlamaDurumlari.basladi + " or ps.durum = " + TamamlamaDurumlari.bekliyor + ") "
                                                + "and ps.flag = " + durumlar.aktif.ToString() + " and kp.flag = " + durumlar.aktif.ToString() + " and k.url = '" + kullanici_url + "') "
                                                + "union "
                                                + "(select ps.id, 2 as oncelik, ps.isim, ps.baslangic_tarihi, ps.bitis_tarihi, ps.yuzde, ps.flag, ps.tur, ps.url, ps.durum from proje_surec as ps "
                                                + "inner join kullanici_proje as kp on kp.proje_id = ps.id "
                                                + "inner join kullanicilar as k on k.id = kp.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where ps.firma_id = " + lgm.firma_id.ToString() + " and (ps.durum = " + TamamlamaDurumlari.tamamlandi + ") "
                                                + "and ps.flag = " + durumlar.aktif.ToString() + " and kp.flag = " + durumlar.aktif.ToString() + " and k.url = '" + kullanici_url + "') "
                                                + "union "
                                                + "(select ps.id, 3 as oncelik, ps.isim, ps.baslangic_tarihi, ps.bitis_tarihi, ps.yuzde, ps.flag, ps.tur, ps.url, ps.durum from proje_surec as ps "
                                                + "inner join kullanici_proje as kp on kp.proje_id = ps.id "
                                                + "inner join kullanicilar as k on k.id = kp.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where ps.firma_id = " + lgm.firma_id.ToString() + " and (ps.durum = " + TamamlamaDurumlari.pasif + ") "
                                                + "and ps.flag = " + durumlar.aktif.ToString() + " and kp.flag = " + durumlar.aktif.ToString() + " and k.url = '" + kullanici_url + "') "
                                                + "union "
                                                + "(select g.id, 1 as oncelik, g.isim as isim, g.baslangic_tarihi, g.bitis_tarihi, g.yuzde, g.flag, 3 as tur, g.url, g.durum "
                                                + "from gorevler as g "
                                                + "left join gorev_proje as gp on gp.gorev_id = g.id and gp.flag = " + durumlar.aktif.ToString() + " "
                                                + "inner join kullanici_gorev as kg on kg.gorev_id = g.id "
                                                + "inner join kullanicilar as k on k.id = kg.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where g.flag = " + durumlar.aktif.ToString() + " and (g.durum = " + TamamlamaDurumlari.basladi + " or g.durum = " + TamamlamaDurumlari.bekliyor + ") "
                                                + "and kg.flag = " + durumlar.aktif.ToString() + " and g.firma_id = " + lgm.firma_id.ToString() + " and k.url = '" + kullanici_url + "' and gp.id is null) "
                                                + "union "
                                                + "(select g.id, 2 as oncelik, g.isim as isim, g.baslangic_tarihi, g.bitis_tarihi, g.yuzde, g.flag, 3 as tur, g.url, g.durum "
                                                + "from gorevler as g "
                                                + "left join gorev_proje as gp on gp.gorev_id = g.id and gp.flag = " + durumlar.aktif.ToString() + " "
                                                + "inner join kullanici_gorev as kg on kg.gorev_id = g.id "
                                                + "inner join kullanicilar as k on k.id = kg.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where g.flag = " + durumlar.aktif.ToString() + " and (g.durum = " + TamamlamaDurumlari.tamamlandi + ") and kg.flag = " + durumlar.aktif.ToString() + " "
                                                + "and g.firma_id = " + lgm.firma_id.ToString() + " and k.url = '" + kullanici_url + "' and gp.id is null) "
                                                + "union "
                                                + "(select g.id, 3 as oncelik, g.isim as isim, g.baslangic_tarihi, g.bitis_tarihi, g.yuzde, g.flag, 3 as tur, g.url, g.durum "
                                                + "from gorevler as g "
                                                + "left join gorev_proje as gp on gp.gorev_id = g.id and gp.flag = " + durumlar.aktif.ToString() + " "
                                                + "inner join kullanici_gorev as kg on kg.gorev_id = g.id "
                                                + "inner join kullanicilar as k on k.id = kg.kullanici_id and k.flag = " + durumlar.aktif.ToString() + " "
                                                + "where g.flag = " + durumlar.aktif.ToString() + " and (g.durum = " + TamamlamaDurumlari.pasif + ") and kg.flag = " + durumlar.aktif.ToString() + " "
                                                + "and g.firma_id = " + lgm.firma_id.ToString() + " and k.url = '" + kullanici_url + "' and gp.id is null) "
                                                + "order by oncelik, bitis_tarihi) as tbl";
         List <GorevVeProjeSurecOzetModel> psg = db.Database.SqlQuery <GorevVeProjeSurecOzetModel>(projeSurecGorevQuery).ToList();
         return(Json(JsonSonuc.sonucUret(true, psg), JsonRequestBehavior.AllowGet));
     }
     catch (Exception)
     {
         return(Json(JsonSonuc.sonucUret(false, "Kullanıcı görevleri getirilemedi. Lütfen tekrar deneyiniz."), JsonRequestBehavior.AllowGet));
     }
 }
 private void GoToMainViewHandler(object sender, LoggedUserModel e)
 {
     if (e.IsAuthenticated)
     {
         ExitAppRequested?.Invoke(this, e);
     }
     else
     {
         AuthenticationFailed?.Invoke(this, EventArgs.Empty);
     }
 }
Exemple #23
0
        public HttpResponseMessage PostRegisterUser(UserModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
            {
                var context = new RealEstateContext();
                using (context)
                {
                    this.ValidateUsername(model.Username);
                    this.ValidateNickname(model.FullName);
                    this.ValidateAuthCode(model.AuthCode);
                    var usernameToLower = model.Username.ToLower();
                    var nicknameToLower = model.FullName.ToLower();
                    var user            = context.Users.FirstOrDefault(
                        usr => usr.Username == usernameToLower ||
                        usr.FullName.ToLower() == nicknameToLower);

                    if (user != null)
                    {
                        throw new InvalidOperationException("Users exists");
                    }

                    user = new User()
                    {
                        Username = usernameToLower,
                        FullName = model.FullName,
                        AuthCode = model.AuthCode,
                        Role     = new Role {
                            UserRole = model.Role
                        }
                    };

                    context.Users.Add(user);
                    context.SaveChanges();

                    user.SessionKey = this.GenerateSessionKey(user.Id);
                    context.SaveChanges();

                    var loggedModel = new LoggedUserModel()
                    {
                        FullName   = user.FullName,
                        SessionKey = user.SessionKey
                    };

                    var response =
                        this.Request.CreateResponse(HttpStatusCode.Created,
                                                    loggedModel);
                    return(response);
                }
            });

            return(responseMsg);
        }
Exemple #24
0
        public async Task <ActionResult> GorevleriGetir(string id)//id proje url yerine geçiyor
        {
            LoggedUserModel lgm        = GetCurrentUser.GetUser();
            string          gorevQuery = "select g.isim as gorev_ismi, ps.isim as proje_ismi, g.baslangic_tarihi, g.bitis_tarihi, g.yuzde, g.flag as gorev_flag, ps.tur, g.url from gorevler as g "
                                         + "left join gorev_proje as gp on gp.gorev_id = g.id and gp.flag = " + durumlar.aktif.ToString() + " "
                                         + "left join proje_surec as ps on ps.id = gp.proje_id and ps.flag = " + durumlar.aktif.ToString() + " "
                                         + "where g.flag != " + durumlar.silindi.ToString() + (id != null ? (" and ps.url = '" + id + "'") : ("")) + " order by g.bitis_tarihi";

            List <GorevVeProjeOzetModel> gorevList = db.Database.SqlQuery <GorevVeProjeOzetModel>(gorevQuery).ToList();

            return(View(gorevList));
        }
Exemple #25
0
        public ActionResult Index()
        {
            LoggedUserModel lgm        = GetCurrentUser.GetUser();
            string          gorevQuery = "select g.isim as gorev_ismi, ps.isim as proje_ismi, g.baslangic_tarihi, g.bitis_tarihi, g.yuzde, g.flag as gorev_flag, ps.tur, g.url from gorevler as g "
                                         + "left join gorev_proje as gp on gp.gorev_id = g.id and gp.flag = " + durumlar.aktif.ToString() + " "
                                         + "left join proje_surec as ps on ps.id = gp.proje_id and ps.flag = " + durumlar.aktif.ToString() + " "
                                         + "where g.flag != " + durumlar.silindi.ToString() + " order by g.bitis_tarihi";

            List <GorevVeProjeOzetModel> gorevList = db.Database.SqlQuery <GorevVeProjeOzetModel>(gorevQuery).ToList();

            return(View(gorevList));
        }
        private static void ValidatePermission(UserAccountData userToUpdate, LoggedUserModel requestedUser, string newRole)
        {
            if (requestedUser.Id != userToUpdate.Id && requestedUser.Role != UserRolesHelper.Root)
            {
                throw new ValidationException("Only user itself or user with role `root` can edit information of other user");
            }

            if (requestedUser.Id == userToUpdate.Id && requestedUser.Role != UserRolesHelper.Root && userToUpdate.Role != newRole)
            {
                throw new ValidationException("You don't have permission to change your own role");
            }
        }
        public ActionResult Index()
        {
            //if (String.IsNullOrEmpty(HttpContext.User.Identity.Name) || !User.Identity.IsAuthenticated)
            LoggedUserModel lum = GetCurrentUser.GetUser();

            if (lum == null || !(lum.kullanici_turu == KullaniciTurleri.super_admin))
            {
                FormsAuthentication.SignOut();
                return(View());
            }
            return(Redirect("/Admin/AHome"));
        }
        public HttpResponseMessage PostRegisterUser(UserModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
            {
                var context = new StoreContext();
                using (context)
                {
                    this.ValidateUsername(model.Username);
                    this.ValidateNickname(model.DisplayName);
                    this.ValidateAuthCode(model.AuthCode);
                    var usernameToLower    = model.Username.ToLower();
                    var displayNameToLower = model.DisplayName.ToLower();
                    var user = context.Users.FirstOrDefault(
                        usr => usr.Username == usernameToLower ||
                        usr.DisplayName.ToLower() == displayNameToLower);

                    if (user != null)
                    {
                        throw new InvalidOperationException("Users already exists!");
                    }

                    user = new User()
                    {
                        Username    = usernameToLower,
                        DisplayName = model.DisplayName,
                        AuthCode    = model.AuthCode,
                        Gold        = 100m,
                        Busy        = false
                    };

                    context.Users.Add(user);
                    context.SaveChanges();

                    user.SessionKey = this.GenerateSessionKey(user.UserId);
                    context.SaveChanges();

                    var loggedModel = new LoggedUserModel()
                    {
                        DisplayName = user.DisplayName,
                        SessionKey  = user.SessionKey,
                        Gold        = user.Gold.HasValue ? user.Gold.Value : 0m
                    };

                    var response =
                        this.Request.CreateResponse(HttpStatusCode.Created, loggedModel);
                    return(response);
                }
            });

            return(responseMsg);
        }
Exemple #29
0
        public HttpResponseMessage PostRegisterUser([FromBody] UserModel userModel)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
            {
                var context = new StoreContext();
                using (context)
                {
                    this.ValidateUsername(userModel.Username);
                    this.ValidateAuthCode(userModel.Password);
                    var usernameToLower = userModel.Username.ToLower();
                    var user            = context.Users.FirstOrDefault(
                        usr => usr.Username.ToLower() == usernameToLower);

                    if (user != null)
                    {
                        throw new InvalidOperationException("User exists");
                    }

                    user = new User()
                    {
                        Username  = usernameToLower,
                        Password  = userModel.Password,
                        Email     = userModel.Email,
                        Role      = userModel.Role,
                        FirstName = userModel.FirstName,
                        LastName  = userModel.LastName,
                    };

                    context.Users.Add(user);
                    context.SaveChanges();

                    user.SessionKey = this.GenerateSessionKey(user.UserId);
                    context.SaveChanges();

                    var loggedModel = new LoggedUserModel()
                    {
                        DisplayName = user.FirstName + " " + user.LastName,
                        SessionKey  = user.SessionKey,
                        Role        = user.Role
                    };

                    var response =
                        this.Request.CreateResponse(HttpStatusCode.Created,
                                                    loggedModel);

                    return(response);
                }
            });

            return(responseMsg);
        }
Exemple #30
0
        public static async Task <LoggedUserModel> GetCurrentUser(this IRepository <User> repository, int?userId = null)
        {
            var user = new LoggedUserModel();
            await repository.LoadStoredProc("spGetCurrentUser")
            .WithSqlParam("@UserId", userId ?? repository.CurrentUser.UserId)
            .ExecuteStoredProcAsync((result) =>
            {
                user = result.ReadNextListOrEmpty <LoggedUserModel>().FirstOrDefault();
                user.AccessControlIds = result.ReadNextListOrEmpty <SingleFieldModel <int> >().Select(_ => _.Id).ToList();
            });

            return(user);
        }
        public HttpResponseMessage RegisterUser(UserModel model)
        {
            var registerResponse = this.TryToExecuteOperation(() =>
            {
                if (model == null)
                {
                    throw new InvalidOperationException("Request body can not be null!");
                }

                this.ValidateUsername(model.Username);
                this.ValidateNickname(model.DisplayName);
                this.ValidateAuthCode(model.AuthCode);
                var usernameToLower = model.Username.ToLower();
                var displayNameToLower = model.DisplayName.ToLower();
                var user = repository.All()
                    .FirstOrDefault(usr => usr.Username == usernameToLower || usr.DisplayName == displayNameToLower);
                if (user != null)
                {
                    throw new InvalidOperationException("User allready exist");
                }

                user = new User()
                {
                    Username = usernameToLower,
                    DisplayName = model.DisplayName,
                    AuthCode = model.AuthCode,
                };

                repository.Add(user);
                user.SessionKey = this.GenerateSessionKey(user.UserId);
                repository.Update(user.UserId, user);

                var userModel = new LoggedUserModel()
                {
                    DisplayName = user.DisplayName,
                    SessionKey = user.SessionKey
                };

                var response = this.Request.CreateResponse(HttpStatusCode.Created, userModel);
                return response;
            });
            return registerResponse;
        }
        public HttpResponseMessage PostLoginUser(UserModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
              () =>
              {
                  var context = new BlogEntities();
                  using (context)
                  {
                      this.ValidateUsername(model.Username);
                      this.ValidateAuthCode(model.AuthCode);
                      var usernameToLower = model.Username.ToLower();
                      var user = context.Users.FirstOrDefault(
                          usr => usr.Username == usernameToLower
                          && usr.AuthCode == model.AuthCode);

                      if (user == null)
                      {
                          throw new InvalidOperationException("Invalid username or password");
                      }
                      if (user.SessionKey == null)
                      {
                          user.SessionKey = this.GenerateSessionKey(user.UserId);
                          context.SaveChanges();
                      }

                      var loggedModel = new LoggedUserModel()
                      {
                          DisplayName = user.DisplayName,
                          SessionKey = user.SessionKey
                      };

                      var response =
                          this.Request.CreateResponse(HttpStatusCode.Created,
                                          loggedModel);
                      return response;
                  }
              });

            return responseMsg;
        }
        public HttpResponseMessage PostLoginAdmin(UserLoginModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
              () =>
              {
                  var context = new StoreContext();
                  using (context)
                  {
                      this.ValidateUsername(model.Username);
                      this.ValidateAuthCode(model.AuthCode);
                      var usernameToLower = model.Username.ToLower();
                      var admin = context.Admins.FirstOrDefault(
                          adm => adm.Username == usernameToLower
                          && adm.AuthCode == model.AuthCode);

                      if (admin == null)
                      {
                          throw new InvalidOperationException("Invalid username or password");
                      }

                      if (admin.SessionKey == null)
                      {
                          admin.SessionKey = this.GenerateSessionKey(admin.AdminId);
                          context.SaveChanges();
                      }

                      var loggedModel = new LoggedUserModel()
                      {
                          DisplayName = admin.DisplayName,
                          SessionKey = admin.SessionKey
                      };

                      var response = this.Request.CreateResponse(HttpStatusCode.Created, loggedModel);
                      return response;
                  }
              });

            return responseMsg;
        }
 public void FromUserToUserLoginApi_FieldsAreEqual()
 {
     //Arrange
     var initial = new User
     {
         Id = 1,
         Email = "*****@*****.**",
         Name = "Roman",
         Password = "******"
     };
     var expected = new LoggedUserModel
     {
         EMail = "*****@*****.**",
         Name = "Roman",
         Id = 1
     };
     //Act
     var actual = (new UserLoginMapper()).FromUserToUserLoginApi(initial);
     //Assert
     Assert.AreEqual(expected.EMail, actual.EMail);
     Assert.AreEqual(expected.Name, actual.Name);
     Assert.AreEqual(expected.Id, actual.Id);
 }
        public HttpResponseMessage LoginUser(UserModel model)
        {
            var baseResponse = this.TryToExecuteOperation(() =>
            {
                this.ValidateUsername(model.Username);
                this.ValidateAuthCode(model.AuthCode);
                var usernameToLower = model.Username.ToLower();
                var user = repository.All()
                    .FirstOrDefault(usr => usr.Username == usernameToLower && usr.AuthCode == model.AuthCode);

                if (user == null)
                {
                    throw new InvalidOperationException("Username is not exist!");
                }

                if (user.SessionKey == null)
                {
                    user.SessionKey = this.GenerateSessionKey(user.UserId);
                    repository.Update(user.UserId, user);
                }

                var userModel = new LoggedUserModel()
                {
                    DisplayName = user.DisplayName,
                    SessionKey = user.SessionKey
                };

                var response = this.Request.CreateResponse(HttpStatusCode.Created, userModel);
                return response;
            });
            return baseResponse;
        }
        public HttpResponseMessage PostRegisterAdmin(UserModel model, [ValueProvider(typeof(HeaderValueProviderFactory<string>))] string sessionKey)
        {
            var response = this.PerformOperationAndHandleExceptions(() =>
            {
                var context = new StoreContext();

                this.ValidateUsername(model.Username);
                this.ValidateAuthCode(model.AuthCode);
                this.ValidateNickname(model.DisplayName);

                var admin = context.Admins.FirstOrDefault(a => a.SessionKey == sessionKey);
                if (admin == null)
                {
                    throw new InvalidOperationException("Invalid session key");
                }

                var usernameToLower = model.Username.ToLower();
                var displayNameToLower = model.DisplayName.ToLower();
                var existingAdmin = context.Admins.FirstOrDefault(
                    a => a.Username == usernameToLower
                    || a.DisplayName.ToLower() == displayNameToLower);

                if (existingAdmin != null)
                {
                    throw new InvalidOperationException("Username already exists");
                }

                Admin newAdmin = new Admin
                {
                    Username = model.Username,
                    DisplayName = model.DisplayName,
                    AuthCode = model.AuthCode
                };

                context.Admins.Add(newAdmin);
                context.SaveChanges();

                var loggedModel = new LoggedUserModel
                {
                    DisplayName = newAdmin.DisplayName,
                    SessionKey = newAdmin.SessionKey
                };

                var responseMsg = this.Request.CreateResponse(HttpStatusCode.Created, loggedModel);
                return responseMsg;
            });

            return response;
        }
        public HttpResponseMessage PostRegisterUser(UserModel model)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
                () =>
                {
                    var context = new BlogEntities();
                    using (context)
                    {
                        this.ValidateUsername(model.Username);
                        this.ValidateDisplayName(model.DisplayName);
                        this.ValidateAuthCode(model.AuthCode);
                        var usernameToLower = model.Username.ToLower();
                        var displaynameToLower = model.DisplayName.ToLower();
                        var user = context.Users.FirstOrDefault(
                            usr => usr.Username == usernameToLower
                            || usr.DisplayName.ToLower() == displaynameToLower);

                        if (user != null)
                        {
                            throw new InvalidOperationException("User exists");
                        }

                        user = new User()
                        {
                            Username = usernameToLower,
                            DisplayName = model.DisplayName,
                            AuthCode = model.AuthCode
                        };

                        context.Users.Add(user);
                        context.SaveChanges();

                        user.SessionKey = this.GenerateSessionKey(user.UserId);
                        context.SaveChanges();

                        var loggedModel = new LoggedUserModel()
                        {
                            DisplayName = user.DisplayName,
                            SessionKey = user.SessionKey
                        };

                        var response =
                            this.Request.CreateResponse(HttpStatusCode.Created,
                                            loggedModel);
                        return response;
                    }
                });

            return responseMsg;
        }