public ActionResult CheckIn()
        {
            AttendanceViewModel vm = new AttendanceViewModel();
            string email           = User.Identity.Name;

            var      userdetail  = db.Users.Where(u => u.email == email).SingleOrDefault();
            var      checkindate = DateTime.Now;
            var      currentday  = DateTime.Now;
            var      date        = currentday.Date;
            var      userid      = userdetail.userid;
            DateTime todayDate   = Convert.ToDateTime(DateTime.Now);

            var hasloggedintoday = db.Userlogs.Any(u => u.checkeddate == date && u.userid == userid);

            if (!hasloggedintoday)
            {
                Userlog ul = new Userlog
                {
                    checkeddate = date,
                    logintime   = checkindate,
                    userid      = userdetail.userid
                };

                db.Userlogs.Add(ul);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
예제 #2
0
        /// <summary>
        /// Adds a new User-Log Entry for a given Username
        /// </summary>
        /// <param name="username"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public async Task AddUserLogAsync(string username, string message)
        {
            var userLog = new Userlog
            {
                User     = db.Users.FirstOrDefault(u => u.Username == username),
                Message  = message,
                Metadata = new Metadata(username)
            };

            db.Userlogs.Add(userLog);
            await db.SaveChangesAsync();
        }
예제 #3
0
 public void AddFolder(UserCache cache, FolderDto parentFolder, FolderDto folder)
 {
     Project p = null;
     cache.CurrentProject.CopyTo(p);
     p.Folders.Add(new Folder() {Name = folder.Name, Path = folder.Path});
     Directory.CreateDirectory(folder.Path+"\\"+folder.Name);
     SaveContext();
     var log = new Userlog() { Date = DateTime.Now, Message = "Создание папки " + folder.Name };
     cache.Client.Userlogs.Add(log);
     cache.LogMessages.Add(log.AsDto());
     cache.StructureChanges.Add(new StructureChange(Action.Added, folder));
 }
예제 #4
0
 public void AddFile(UserCache cache, FolderDto parentFolder ,FileDto file)
 {
     Project p = null;
     cache.CurrentProject.CopyTo(p);
     var folder = p.Folders.Where(x => x.Path == parentFolder.Path && x.Name == parentFolder.Name).First();
     folder.Files.Add(new File() {Name = file.Name, Path = file.Path});
     System.IO.File.Create(file.Path + "\\" + file.Name);
     SaveContext();
     var log = new Userlog() { Date = DateTime.Now, Message = "Создание файла " + file.Name };
     cache.Client.Userlogs.Add(log);
     cache.LogMessages.Add(log.AsDto());
     cache.StructureChanges.Add(new StructureChange(Action.Added, file));
 }
 public ActionResult ADDorEdit(Userlog usermodel)
 {
     using (AppDBEntities apmodel = new AppDBEntities()){
         if (apmodel.Userlogs.Any(x => x.Username == usermodel.Username))
         {
             ViewBag.DuplicateMessage = "Already exist";
             return(View("ADDorEdit", usermodel));
         }
         apmodel.Userlogs.Add(usermodel);
         apmodel.SaveChanges();
     }
     ModelState.Clear();
     ViewBag.sucessMessage = "Registration Completed";
     return(View("ADDorEdit", new Userlog()));
 }
예제 #6
0
 private void publishlog(string user, string ip, string path, string rtype, string param)
 {
     using (System.Data.Entity.DbContextTransaction dbTran = dbContext.Database.BeginTransaction())
     {
         try
         {
             Userlog batch = new Userlog {
                 username = user, ip = ip, url = path, reqtype = rtype, parameters = param
             };
             dbContext.Userlogs.Add(batch);
             dbContext.SaveChanges();
             dbTran.Commit();
         }
         catch (Exception e)
         {
             Console.WriteLine(e.Message);
             dbTran.Rollback();
         }
         dbTran.Dispose();
     }
 }
        public ActionResult ADDorEdit(int id = 0)
        {
            Userlog user = new Userlog();

            return(View(user));
        }
예제 #8
0
 public void AddProject(UserCache cache, string pname)
 {
     if(pname.ToCharArray().Contains('/'))
         return;
     if (cache.Client.ProjectsOwner.Where(p => p.Name == pname).Count() > 0)
         throw new CreateProdjectException("Проект с такими названием уже существует");
     string dir = _prodjectSubsystem.ProjectDir + "\\" + cache.Client.Login + "\\" + pname;
     try
     {
         Directory.CreateDirectory(dir);
     }
     catch (Exception)
     {
         Logger.Log.Write(LogLevels.Emerg,
             String.Format("Невозможно создать директорию проекта {0}. Проверьте путь и права доступа.", dir));
         throw new CreateProdjectFolderException("Невозможно создать директорию проекта. Обратитесь к системному администратору");
     }
     var prj = new Project();
     context.Add(prj);
     prj.Owner = cache.Client;
     prj.Sourcedir = dir;
     prj.Folders.Add(new Folder() { Name = pname, Path = _prodjectSubsystem.ProjectDir + "\\" + cache.Client.Login });
     prj.Name = pname;
     prj.Members.Add(cache.Client);
     var log = new Userlog() {Date = DateTime.Now, Message = "Создан проект " + pname};
     cache.Client.Userlogs.Add(log);
     cache.LogMessages.Add(log.AsDto());
     cache.NewProjects.Add(prj.AsDto());
     SaveContext();
 }
예제 #9
0
 public void RemoveFolder(UserCache cache, FolderDto folder)
 {
     Project p = null;
     cache.CurrentProject.CopyTo(p);
     var f = p.Folders.Where(x => x.Path == folder.Path && x.Name == folder.Name).First();
     p.Folders.Remove(f);
     Directory.Delete(f.Path + "\\" + f.Name, true);
     SaveContext();
     var log = new Userlog() { Date = DateTime.Now, Message = "Удаление папки " + folder.Name };
     cache.Client.Userlogs.Add(log);
     cache.LogMessages.Add(log.AsDto());
     cache.StructureChanges.Add(new StructureChange(Action.Removed, folder));
 }
예제 #10
0
 public void RemoveFile(UserCache cache, FileDto file)
 {
     Project p = null;
     cache.CurrentProject.CopyTo(p);
     foreach(var folder in p.Folders)
     {
         var f = folder.Files.Where(x => x.Path == file.Path && x.Name == file.Name);
         if(f.Count() > 0)
         {
             folder.Files.Remove(f.First());
             System.IO.File.Delete(file.Path+"\\"+file.Name);
             SaveContext();
             return;
         }
     }
     SaveContext();
     var log = new Userlog() {Date = DateTime.Now, Message = "Удаление файла " + file.Name};
     cache.Client.Userlogs.Add(log);
     cache.LogMessages.Add(log.AsDto());
     cache.StructureChanges.Add(new StructureChange(Action.Removed,file));
 }
예제 #11
0
        private void btn_enter_Click(object sender, RoutedEventArgs e)
        {
            ////////////////////تبدیل رمز عبور به رشته در درهم
            SHA256CryptoServiceProvider Sha2 = new SHA256CryptoServiceProvider();

            Byte[] B1;
            Byte[] B2;
            B1 = UTF8Encoding.UTF8.GetBytes(txt_password.Password.Trim());
            B2 = Sha2.ComputeHash(B1);
            string UserPasswordHashed = BitConverter.ToString(B2);
            /////////////////////////////////////////////////بررسی موجود بودن نام کاربری و رمز عبور در دیتابیس
            var query = from U in database.Users
                        where U.UserUserName == txt_username.Text.Trim()
                        where U.UserPassword == UserPasswordHashed
                        where U.UserActive == 1
                        select U;
            var user = query.ToList();

            /////////////////////////////////////////////////
            if (user.Count == 1)
            {
                /////////////////////////////////////////ثبت نام کاربری در رجیستری
                RegistryKey UserNameKey = Registry.CurrentUser.CreateSubKey("Software\\foroosh");
                try
                {
                    UserNameKey.SetValue("UserNameRegister", txt_username.Text.Trim());

                    ////بدست اوردن مشخصات کاربر واردشونده
                    PublicVariable.gUserName   = user[0].UserName;
                    PublicVariable.gUserFamily = user[0].UserFamily;
                    PublicVariable.gUserId     = user[0].UserID;
                    /////////////بدست آوردن اطلاعات کامپیوتر کاربر
                    string      ComputerName = System.Environment.MachineName;
                    string      IP           = "";
                    IPHostEntry iPE          = Dns.GetHostByName(ComputerName);
                    //IPHostEntry iPE = Dns.GetHostEntry(ComputerName);
                    IPAddress[] IpA = iPE.AddressList;
                    IP = IpA[0].ToString();
                    ///////////////////////////////
                    Userlog UL = new Userlog();
                    UL.ComputerName  = ComputerName;
                    UL.IPAddress     = IP;
                    UL.UserId        = PublicVariable.gUserId;
                    UL.EnterDateTime = string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(calendar_userlog.Text)) + " - " + String.Format("{0:HH:mm:ss}", DateTime.Now);
                    database.Userlogs.Add(UL);
                    database.SaveChanges();
                    ////////////////////////////////////
                }
                catch
                {
                    MessageBox.Show("در هنگام ورود کاربر مشکلی برای سیستم به وجود آمد");
                }
                finally
                {
                    UserNameKey.Close();
                }

                this.Close();
            }
            else
            {
                MessageBox.Show("username or password is wrong! ");
                return;
            }
        }