Пример #1
0
        public ActionResult SetDataInDataBase(User model)
        {
            User tbl = new User();

            tbl.C_id     = model.C_id;
            tbl.fullName = model.fullName;
            tbl.gender   = model.gender;
            //tbl.dateOfBirth = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000;
            tbl.dateOfBirth = model.dateOfBirth;
            tbl.address     = model.address;
            tbl.email       = model.email;
            tbl.mobile      = model.mobile;
            tbl.username    = model.username;
            tbl.password    = model.password;
            /////////////////////////Kiểm tra radiobutton///////////////
            if (model.titleId != null)
            {
                tbl.titleId = "TITLE_001";
            }
            else
            {
                tbl.titleId = "TITLE_002";
            }
            ///////////////////////////////////////////////////////////
            tbl.isActive = true;

            db.Users.Add(tbl);
            db.SaveChanges();
            return(View());
        }
        public ActionResult Register(NHANVIEN nv)
        {
            NghiphepEntities db = new NghiphepEntities();
            User             u  = new User
            {
                C_id       = "_User_01",
                address    = nv.address,
                contractId = nv.contractId,
                email      = nv.email,
                dayOff     = 12,
                fullName   = nv.fullName
            };

            db.Users.Add(u);
            db.SaveChanges();
            var contract_query = (from contract in db.ContractTypes
                                  select new
            {
                C_id = contract.C_id,
                code = contract.code,
                name = contract.name,
                dayOff = contract.dayOff
            });
            var contracts = contract_query.ToList().Select(c => new ContractType
            {
                C_id   = c.C_id,
                code   = c.code,
                name   = c.name,
                dayOff = c.dayOff
            }).ToList();

            ViewData["contracts"] = contracts;
            return(View());
        }
Пример #3
0
 public ActionResult ChangePassword(ChangePasswordViewModel model)
 {
     //validate
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     //validate
     if (model.NewPassword != model.NewPasswordAgain)
     {
         ModelState.AddModelError("", "Mật khẩu mới được nhập lại không khớp.");
         return(View(model));
     }
     //Đổi trong database
     using (NghiphepEntities db = new NghiphepEntities())
     {
         var user = db.Users.SingleOrDefault(x => x.username == User.Identity.Name && x.password == model.CurrentPassword);
         if (user != null)
         {
             user.password = model.NewPassword;
             db.SaveChanges();
             ViewBag.MessageSuccess = "Mật khẩu đã được đổi thành công.";
             return(View(model));
         }
         ModelState.AddModelError("", "Mật khẩu không đúng.");
         return(View(model));
     }
 }
Пример #4
0
        public ActionResult VerifyDocument(string id)
        {
            NghiphepEntities db       = new NghiphepEntities();
            Document         document = queryDocument();
            var result = db.Documents.SingleOrDefault(b => b.C_id == id);
            var admin  = db.Users.FirstOrDefault(x => x.username == User.Identity.Name);

            if (result != null)
            {
                var verifyAt = (float)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000;
                result.status       = 99;
                result.verifiedById = admin.C_id;
                result.verifiedAt   = verifyAt;
                db.SaveChanges();
            }
            var user = db.Users.SingleOrDefault(b => b.C_id == result.createdById);

            if (user != null)
            {
                user.dayOff = user.dayOff - (int)((result.endDate - result.startDate) / 1000 / 3600 / 24);
                db.SaveChanges();
            }
            var start = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.startDate) / 1000d)).ToLocalTime().ToString();
            var end   = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.endDate) / 1000d)).ToLocalTime().ToString();

            //Gửi mail khi người quản lý approve đơn nghỉ phép (tương tự như hàm dưới CancelDocument)
            string mailBody = "Xin chào: " + user.fullName + "<br>"
                              + "Đơn nghỉ phép của bạn đã được duyệt" + "<br><br>"
                              + "- Mã đơn: " + result.C_id + "<br>"
                              + "- Từ ngày: " + start + "<br>"
                              + "- Đến ngày: " + end + "<br>"
                              + "- Lý do: " + result.reason + "<br>"
                              + "Người duyệt: " + admin.fullName + "<br>"
                              + "Xin cảm ơn.";
            var mail = new MailModel
            {
                ListToEmail = new List <string> {
                    user.email
                },
                Body         = mailBody,
                EmailSubject = "Đơn nghỉ phép được duyệt"
            };

            EmailHelper.SendMail(mail);
            return(RedirectToAction("Manager"));
        }
Пример #5
0
 public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp)
 {
     System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm ", dnp.reason);
     if (ModelState.IsValid)
     {
         NghiphepEntities db       = new NghiphepEntities();
         Document         document = queryDocument();
         string           code     = CreateAutoCode(document != null ? document.code : null);
         var user = db.Users.FirstOrDefault(x => x.username == User.Identity.Name);
         var doc  = new Document()
         {
             C_id        = code,
             code        = code,
             status      = 0,
             createdAt   = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             startDate   = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             endDate     = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             createdById = user.C_id,
             reason      = dnp.reason
         };
         db.Documents.Add(doc);
         //try
         //{
         db.SaveChanges();
         //}
         //catch (DbEntityValidationException e)
         //{
         //    foreach (var eve in e.EntityValidationErrors)
         //    {
         //        System.Diagnostics.Debug.WriteLine(eve.Entry.Entity.GetType().Name, eve.Entry.State);
         //        foreach (var ve in eve.ValidationErrors)
         //        {
         //            System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
         //                ve.PropertyName, ve.ErrorMessage);
         //        }
         //    }
         //}
         //write code to update student
         //Gửi mail khi tạo đơn, tương tự bên dưới luôn (CancelDocument)
         string mailBody = "Xin chào: " + user.fullName + "<br>"
                           + "Thông tin đơn nghỉ phép của bạn đang chờ duyệt: <br>"
                           + "- Từ ngày: " + dnp.dateStart + "<br>"
                           + "- Đến ngày: " + dnp.dateEnd + "<br>"
                           + "- Lý do: " + dnp.reason + "<br>"
                           + "Xin cảm ơn.";
         var mail = new MailModel
         {
             ListToEmail = new List <string> {
                 user.email
             },
             Body         = mailBody,
             EmailSubject = "Thông tin đơn xin nghỉ phép"
         };
         EmailHelper.SendMail(mail);
         return(RedirectToAction("Employee"));
     }
     return(RedirectToAction("CreateNew"));
 }
        public ActionResult SetDataInDataBase(NHANVIEN model)
        {
            User tbl = new User();

            tbl.fullName    = model.fullName;
            tbl.gender      = model.gender;
            tbl.dateOfBirth = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000;
            tbl.address     = model.address;
            tbl.email       = model.email;
            tbl.mobile      = model.mobile;
            tbl.username    = model.username;
            tbl.password    = model.password;
            //tbl.chucvu = "";

            db.Users.Add(tbl);
            db.SaveChanges();
            return(View());
        }
Пример #7
0
 public ActionResult CreateUser(UserViewModel user)
 {
     //Validate dữ liệu, nếu chưa đúng thì nhập lại
     if (!ModelState.IsValid)
     {
         return(View(user));
     }
     using (NghiphepEntities db = new NghiphepEntities())
     {
         //Nếu id đã tồn tại thì báo lỗi id đã tồn tại
         var use = db.Users.FirstOrDefault(x => x.C_id == user.C_id);
         if (use != null)
         {
             ModelState.AddModelError("", "ID đã tồn tại");
             return(View(user));
         }
         var use1 = db.Users.FirstOrDefault(x => x.username == user.username);
         if (use1 != null)
         {
             //Nếu username đã tồn tại thì báo lỗi username đã tồn tại
             ModelState.AddModelError("", "Tên đăng nhập đã tồn tại");
             return(View(user));
         }
         //Tạo model user từ thông tin đã nhập để them vào database
         var newUser = new User
         {
             C_id         = user.C_id,
             username     = user.username,
             address      = user.address,
             contractId   = user.contractId,
             email        = user.email,
             gender       = user.gender,
             fullName     = user.fullName,
             isActive     = true,
             dayOff       = user.dayOff,
             password     = user.password,
             mobile       = user.mobile,
             titleId      = user.titleId,
             departmentId = user.departmentId,
             dateOfBirth  = user.dateOfBirth,
         };
         try
         {
             db.Users.Add(newUser);
             db.SaveChanges();
         }
         catch (Exception ex)
         {
             //Lưu thất bại báo lỗi (khi không kết nối đc database)
             ModelState.AddModelError("", "Lỗi hệ thống");
             return(View(user));
         }
         //Lưu thành công thì chuyển đến tran index
         return(RedirectToAction("Index"));
     }
 }
Пример #8
0
        public ActionResult VerifyDocument(string id)
        {
            NghiphepEntities db       = new NghiphepEntities();
            Document         document = queryDocument();
            var result = db.Documents.SingleOrDefault(b => b.C_id == id);

            if (result != null)
            {
                result.status = 99;
                db.SaveChanges();
            }
            var user = db.Users.SingleOrDefault(b => b.C_id == result.createdById);

            if (user != null)
            {
                user.dayOff = user.dayOff - (int)((result.endDate - result.startDate) / 1000 / 3600 / 24);
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Пример #9
0
        public ActionResult DeleteUser(string id)
        {
            NghiphepEntities db = new NghiphepEntities();
            var result          = db.Users.SingleOrDefault(b => b.C_id == id);

            if (result != null)
            {
                result.isActive = false;
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Пример #10
0
        public ActionResult CancelDocument(string id)
        {
            NghiphepEntities db       = new NghiphepEntities();
            Document         document = queryDocument();
            var result = db.Documents.SingleOrDefault(b => b.C_id == id);

            if (result != null)
            {
                result.status = 100;
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Пример #11
0
        public ActionResult SaveUser(User user)
        {
            NghiphepEntities db = new NghiphepEntities();
            var result          = db.Users.SingleOrDefault(b => b.username == user.username);

            if (result != null)
            {
                result.username = user.username;
                result.fullName = user.fullName;
                result.email    = user.email;
                result.mobile   = user.mobile;
                //result.contractId = user.contractId;
                result.dayOff = user.dayOff;
                db.SaveChanges();
            }
            return(RedirectToAction("Edit/" + result.C_id));
        }
Пример #12
0
        public ActionResult CancelDocument(string id)
        {
            NghiphepEntities db       = new NghiphepEntities();
            Document         document = queryDocument();
            var result = db.Documents.SingleOrDefault(b => b.C_id == id);
            var admin  = db.Users.FirstOrDefault(x => x.username == User.Identity.Name);

            if (result != null)
            {
                var verifyAt = (float)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000;
                result.status       = 100;
                result.verifiedById = admin.C_id;
                result.verifiedAt   = verifyAt;
                db.SaveChanges();

                var start = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.startDate) / 1000d)).ToLocalTime().ToString();
                var end   = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.endDate) / 1000d)).ToLocalTime().ToString();
                var user  = db.Users.SingleOrDefault(b => b.C_id == result.createdById);
                //Tạo nội dung email, nó là 1 chuỗi dạng html hay string thường đều được
                string mailBody = "Xin chào: " + user.fullName + "<br><br>"
                                  + "Đơn nghỉ phép của bạn không được duyệt" + "<br>"
                                  + "- Mã đơn: " + result.C_id + "<br>"
                                  + "- Từ ngày: " + start + "<br>"
                                  + "- Đến ngày: " + end + "<br>"
                                  + "- Lý do: " + result.reason + "<br>"
                                  + "Người hủy: " + admin.fullName + "<br>"
                                  + "Xin cảm ơn.";
                //Tạo 1 email theo model bên kia (MailModel)
                var mail = new MailModel
                {
                    //Danh sách địa chỉ nhận mail,nếu muốn gửi nhiều email cùng lúc thì thêm dô list này
                    //Ở đây chỉ gửi cho email người tạo đơn
                    ListToEmail = new List <string> {
                        user.email
                    },
                    //Nội dung email
                    Body = mailBody,
                    //Subject email
                    EmailSubject = "Đơn nghỉ phép không được duyệt"
                };
                //Gọi hàm gửi mail
                EmailHelper.SendMail(mail);
            }

            return(RedirectToAction("Manager"));
        }
Пример #13
0
 public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp)
 {
     System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm ", dnp.reason);
     if (ModelState.IsValid)
     {
         NghiphepEntities db       = new NghiphepEntities();
         Document         document = queryDocument();
         string           code     = CreateAutoCode(document != null ? document.code : null);
         db.Documents.Add(new Document()
         {
             C_id        = code,
             code        = code,
             status      = 0,
             createdAt   = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             startDate   = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             endDate     = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             createdById = "USER_002",
             reason      = dnp.reason
         });
         //try
         //{
         db.SaveChanges();
         //}
         //catch (DbEntityValidationException e)
         //{
         //    foreach (var eve in e.EntityValidationErrors)
         //    {
         //        System.Diagnostics.Debug.WriteLine(eve.Entry.Entity.GetType().Name, eve.Entry.State);
         //        foreach (var ve in eve.ValidationErrors)
         //        {
         //            System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
         //                ve.PropertyName, ve.ErrorMessage);
         //        }
         //    }
         //}
         //write code to update student
         return(RedirectToAction("Employee"));
     }
     return(RedirectToAction("CreateNew"));
 }
        public ActionResult Register(User model)
        {
            NghiphepEntities db  = new NghiphepEntities();
            User             tbl = new User();

            tbl.C_id     = model.C_id;
            tbl.fullName = model.fullName;
            tbl.gender   = model.gender;
            //tbl.dateOfBirth = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000;
            tbl.dateOfBirth = model.dateOfBirth;
            tbl.address     = model.address;
            tbl.email       = model.email;
            tbl.mobile      = model.mobile;
            tbl.username    = model.username;
            tbl.password    = model.password;

            tbl.isActive = false;

            db.Users.Add(tbl);
            db.SaveChanges();
            return(View());
        }
Пример #15
0
 public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp)
 {
     System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm");
     if (ModelState.IsValid)
     {
         NghiphepEntities db       = new NghiphepEntities();
         Document         document = queryDocument();
         string           code     = CreateAutoCode(document.code);
         db.Documents.Add(new Document()
         {
             C_id        = code,
             code        = code,
             status      = 0,
             createdAt   = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             startDate   = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             endDate     = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000,
             createdById = "USER_002"
         });
         db.SaveChanges();
         //write code to update student
         return(RedirectToAction("Index"));
     }
     return(RedirectToAction("CreateNew"));
 }