예제 #1
0
        public ActionResult Login(LoginViewModel login)
        {
            HumanResourceContext context = new HumanResourceContext();

            if (ModelState.IsValid)
            {
                Account result = result = context.AccountSet.Where(a => a.Email == login.Email && a.Password == login.Password && a.IsDeleted != true).FirstOrDefault();
                if (result != null)
                {
                    FormsAuthentication.SetAuthCookie(login.Email, true);
                    SetCookie("hrCookie", result.ID, result.Username, result.Email, result.Phone, result.Role, result.EmpId);
                    if (result.Role == "Staff")
                    {
                        return(RedirectToAction("Award", "Award"));
                    }
                    else
                    {
                        return(RedirectToAction("Dashboard", "HumanResource"));
                    }
                }
                else
                {
                    ViewBag.Unauthorize = "Please enter valid user name or email and password";
                }
                return(View());
            }
            return(View());
        }
        public ActionResult getEmail(int EmpId, string Role)
        {
            HumanResourceContext context = new HumanResourceContext();

            if (Role != "Admin")
            {
                List <SelectListItem> droplist = new List <SelectListItem>();
                var result       = context.Employeeset.Where(e => e.EmpId == EmpId).Select(e => e.Manager).FirstOrDefault();
                var department   = context.Employeeset.Where(e => e.EmpId == EmpId).Select(e => e.Department).FirstOrDefault();
                var manageremail = context.Employeeset.Where(e => e.Name == result && e.Department == department && e.Role == "Manager").Select(e => e.EmailAddress).FirstOrDefault();
                var hremail      = "*****@*****.**";
                droplist.Add(new SelectListItem {
                    Text = manageremail, Value = manageremail
                });
                droplist.Add(new SelectListItem {
                    Text = hremail, Value = hremail
                });
                return(Json(droplist, JsonRequestBehavior.AllowGet));
            }
            else
            {
                List <SelectListItem> droplist = new List <SelectListItem>();
                string[] email = context.Employeeset.Select(e => e.EmailAddress).ToArray();
                foreach (var item in email)
                {
                    droplist.Add(new SelectListItem {
                        Text = item, Value = item
                    });
                }
                return(Json(droplist, JsonRequestBehavior.AllowGet));
            }
        }
예제 #3
0
        public ActionResult Register(RegisterViewModel register)
        {
            HumanResourceContext context = new HumanResourceContext();
            Account result = new Account();

            result.Username  = register.UserName;
            result.Phone     = register.Phone;
            result.Email     = register.Email;
            result.Password  = register.Password;
            result.Role      = register.Role;
            result.IsDeleted = false;
            var EmpId   = context.Employeeset.Where(e => e.EmailAddress == register.Email).Select(a => a.EmpId).FirstOrDefault();
            var result1 = context.AccountSet.Where(e => e.Email == register.Email).FirstOrDefault();

            if (EmpId == 0)
            {
                ViewBag.Message = "This employee is not registerred in this company!";
                return(View(register));
            }
            else if (result1 == null)
            {
                result.EmpId = EmpId;
                var data = accrepo.Add(result);
                FormsAuthentication.SetAuthCookie(register.Email, true);
                SetCookie("hrCookie", data.ID, data.Username, data.Email, data.Phone, data.Role, data.EmpId);
                return(RedirectToAction("Index", "HumanResource"));
            }
            else
            {
                ViewBag.Message = "This email is already registerred!";
                return(View(register));
            }
        }
        public ActionResult LeaveStatement(leavedetail viewData)
        {
            leavedetail          data    = new leavedetail();
            HumanResourceContext context = new HumanResourceContext();

            return(View(viewData));
        }
예제 #5
0
        public ActionResult ChangePassword(ChangePassword change)
        {
            HumanResourceContext context = new HumanResourceContext();
            Account member   = null;
            int     memberID = Convert.ToInt32(Request.Cookies["hrCookie"]["AdminID"]);
            string  password = change.CurrentPassword;
            Account result   = context.AccountSet.Where(e => e.ID == memberID && e.Password == password).SingleOrDefault();

            if (change.NewPassword != change.ConfirmPassword)
            {
                return(View());
            }
            else if (result != null)
            {
                result.Password = change.NewPassword;
                member          = accrepo.Update(result);
                if (member != null)
                {
                    return(RedirectToAction("LogOut", "UserLogin"));
                }
                else
                {
                    ViewBag.Unauthorize = "You can't change password!!";
                }
            }
            else
            {
                ViewBag.Unauthorize = "Your current password is not correct !!";
            }
            return(View());
        }
        public ActionResult LeaveStaff()
        {
            MemberCookie         mc      = Getmember();
            int                  paid    = 13;
            int                  casual  = 6;
            int                  sick    = 30;
            int                  EmpId   = mc.EmpId;
            HumanResourceContext context = new HumanResourceContext();
            var                  result1 = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Paid Leave").FirstOrDefault();

            if (result1 != null)
            {
                paid = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Paid Leave").Sum(a => a.Days);
                paid = 13 - paid;
            }
            var result2 = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Casual Leave").FirstOrDefault();

            if (result2 != null)
            {
                casual = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Sick Leave").Sum(a => a.Days);
                casual = 6 - casual;
            }
            var result3 = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Sick Leave").FirstOrDefault();

            if (result3 != null)
            {
                sick = context.LeaveSet.Where(e => e.EmpId == mc.EmpId && e.Reason == "Sick Leave").Sum(a => a.Days);
                sick = 30 - sick;
            }
            ViewBag.paid   = paid;
            ViewBag.casual = casual;
            ViewBag.sick   = sick;
            ViewBag.EmpId  = EmpId;
            return(View());
        }
예제 #7
0
        public ActionResult AwardList()
        {
            HumanResourceContext context = new HumanResourceContext();
            var result = context.AwardSet.ToList();

            return(Json(new { data = result }, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        public ActionResult SalaryCheck()
        {
            HumanResourceContext context = new HumanResourceContext();
            var result = context.Employeeset.ToList();

            return(Json(new { data = result }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Detail(int EmpId)
        {
            HumanResourceContext context = new HumanResourceContext();
            Employees            result  = context.Employeeset.Find(EmpId);

            return(View(result));
        }
예제 #10
0
        public ActionResult VacancyList()
        {
            HumanResourceContext context = new HumanResourceContext();
            var result = context.RecircumentSet.ToList();

            return(Json(new { data = result }, JsonRequestBehavior.AllowGet));
        }
예제 #11
0
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            HumanResourceContext context = new HumanResourceContext();
            Account result = null;
            var     data   = context.AccountSet.Where(e => e.Email == model.Email).FirstOrDefault();

            if (model.Password != model.ConfirmPassword)
            {
                ViewBag.errormsg = "New Password and Confirmed Password are not same!";
                return(View());
            }
            else
            {
                data.Password = model.ConfirmPassword;
                result        = accrepo.Update(data);
            }

            if (result != null)
            {
                return(RedirectToAction("Login"));
            }
            else
            {
                ViewBag.errormsg = "Fail";
                return(View());
            }
        }
예제 #12
0
 public UserRepositoryTests()
 {
     opt = new DbContextOptionsBuilder <HumanResourceContext>()
           .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
     context = new HumanResourceContext(opt);
     sut     = new UserRepository(context);
     fixture = new Fixture();
 }
        public ActionResult SendMessage(Message m, FormCollection fc)
        {
            string Role                  = fc["Role"];
            string Id                    = fc["EmpId"];
            string newpassword           = fc["Password"];
            int    EmpId                 = Convert.ToInt32(Id);
            HumanResourceContext context = new HumanResourceContext();

            context.MessageSet.Add(m);
            context.SaveChanges();
            var senderEmail1  = "";
            var staffpassword = "";

            if (Role != "Admin")
            {
                senderEmail1  = "*****@*****.**";
                staffpassword = newpassword;
            }
            else
            {
                senderEmail1  = "*****@*****.**";
                staffpassword = "******";
            }
            try
            {
                if (ModelState.IsValid)
                {
                    var senderEmail   = senderEmail1;
                    var receiverEmail = m.email;
                    var password      = staffpassword;
                    var sub           = m.subject;
                    var body          = m.message;
                    var smtp          = new SmtpClient
                    {
                        Host                  = "smtp.gmail.com",
                        Port                  = 587,
                        EnableSsl             = true,
                        DeliveryMethod        = SmtpDeliveryMethod.Network,
                        UseDefaultCredentials = false,
                        Credentials           = new NetworkCredential(senderEmail, password)
                    };
                    using (var mess = new MailMessage(senderEmail, receiverEmail)
                    {
                        Subject = sub,
                        Body = body
                    })
                    {
                        smtp.Send(mess);
                    }
                    return(View(m));
                }
            }
            catch (Exception)
            {
                ViewBag.Error = "Some Error";
            }
            return(View());
        }
예제 #14
0
 public ActionResult DeleteVacancy(int ReId)
 {
     using (HumanResourceContext context = new HumanResourceContext())
     {
         var sqlquery = String.Format("Delete Recircument WHERE ReId={0}", ReId);
         context.Database.ExecuteSqlCommand(sqlquery);
     }
     return(RedirectToAction("Vacancies", "HumanResource"));
 }
예제 #15
0
 public ActionResult DeleteAward(int ID)
 {
     using (HumanResourceContext context = new HumanResourceContext())
     {
         var sqlquery = String.Format("Delete Award WHERE ID={0}", ID);
         context.Database.ExecuteSqlCommand(sqlquery);
     }
     return(RedirectToAction("Award", "Award"));
 }
예제 #16
0
 public ActionResult DeleteDepartment(int DepId)
 {
     using (HumanResourceContext context = new HumanResourceContext())
     {
         var sqlquery = String.Format("Delete Departments WHERE Id={0}", DepId);
         context.Database.ExecuteSqlCommand(sqlquery);
     }
     return(RedirectToAction("Department", "HumanResource"));
 }
 public ActionResult DeleteApplication(int AppId)
 {
     using (HumanResourceContext context = new HumanResourceContext())
     {
         var sqlquery = String.Format("Delete Application WHERE AppId={0}", AppId);
         context.Database.ExecuteSqlCommand(sqlquery);
     }
     return(RedirectToAction("Application", "HumanResource"));
 }
예제 #18
0
        public ActionResult sendmail(int id)
        {
            HumanResourceContext context = new HumanResourceContext();
            leavedetail          data    = new leavedetail();
            Salary customer = context.SalaryCheckSet.FirstOrDefault(c => c.salaryid == id);
            var    casual   = 0;
            var    paid     = 0;
            var    sick     = 0;
            var    unpaid   = 0;
            var    result1  = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault();
            var    result2  = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault();
            var    result3  = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault();
            var    result4  = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).FirstOrDefault();

            if (result1 != null)
            {
                casual = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days);
            }
            if (result2 != null)
            {
                paid = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days);
            }
            if (result3 != null)
            {
                sick = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days);
            }
            if (result4 != null)
            {
                unpaid = context.LeaveSet.Where(e => e.EmpId == customer.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == customer.date.Value.Year && e.ToDate.Month == customer.date.Value.Month).Sum(e => e.Days);
            }
            data.casual = casual;
            data.paid   = paid;
            data.sick   = sick;
            data.unpaid = unpaid;
            var        email        = context.Employeeset.Where(e => e.EmpId == customer.EmpId).Select(b => b.EmailAddress).FirstOrDefault();
            String     renderedHTML = Controllers.PayslipController.RenderViewToString("Payslip", "SendPaySlip", customer);
            String     textBody     = Controllers.PayslipController.RenderViewToString1("Payslip", "LeaveStatement", data);
            SmtpClient smtp         = new SmtpClient();

            smtp.Host                  = "smtp.gmail.com";
            smtp.Port                  = 587;
            smtp.EnableSsl             = true;
            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new NetworkCredential("*****@*****.**", "minhtet13579");
            string body = renderedHTML + textBody;

            using (var message = new MailMessage("*****@*****.**", email))
            {
                message.Subject    = "PaySlip";
                message.Body       = body;
                message.IsBodyHtml = true;
                smtp.Send(message);
            }
            return(View(customer));
        }
 public PcnController(
     IPcnService service,
     IUrlService urlService,
     HumanResourceContext context
     )
 {
     _service    = service;
     _urlService = urlService;
     _context    = context;
 }
예제 #20
0
        public ActionResult CreatePaySlip(Salary fc, int page = 1, int pagesize = 10)
        {
            Salary mymodel = new Salary();
            HumanResourceContext context = new HumanResourceContext();
            var casual  = 0;
            var paid    = 0;
            var sick    = 0;
            var unpaid  = 0;
            var result1 = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).FirstOrDefault();
            var result2 = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).FirstOrDefault();
            var result3 = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).FirstOrDefault();
            var result4 = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).FirstOrDefault();

            if (result1 != null)
            {
                casual = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Casual Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).Sum(e => e.Days);
            }
            if (result2 != null)
            {
                paid = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Paid Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).Sum(e => e.Days);
            }
            if (result3 != null)
            {
                sick = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Sick Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).Sum(e => e.Days);
            }
            if (result4 != null)
            {
                unpaid = context.LeaveSet.Where(e => e.EmpId == fc.EmpId && e.Reason == "Unpaid Leave" && e.FromDate.Year == fc.date.Value.Year && e.ToDate.Month == fc.date.Value.Month).Sum(e => e.Days);
            }
            var position = context.Employeeset.Where(e => e.EmpId == fc.EmpId).Select(e => e.Position).FirstOrDefault();

            ViewBag.casual   = casual;
            ViewBag.paid     = paid;
            ViewBag.sick     = sick;
            ViewBag.unpaid   = unpaid;
            ViewBag.position = position;
            if (fc.salaryid == 0)
            {
                mymodel = salaryrepo.Add(fc);
            }
            else
            {
                mymodel = salaryrepo.Update(fc);
            }

            if (mymodel != null)
            {
                return(View(mymodel));
            }
            else
            {
                return(Json("Fail", JsonRequestBehavior.AllowGet));
            }
        }
예제 #21
0
        public ActionResult FindByDate(DateTime?date, int EmpId)
        {
            HumanResourceContext context = new HumanResourceContext();
            var result = context.LeaveSet.Count(a => a.EmpId == EmpId && a.FromDate.Month == date.Value.Month && a.FromDate.Year == date.Value.Year && a.Reason == "Unpaid Leave");

            if (result != 0)
            {
                result = context.LeaveSet.Where(a => a.EmpId == EmpId && a.FromDate.Month == date.Value.Month && a.FromDate.Year == date.Value.Year && a.Reason == "Unpaid Leave").Sum(a => a.Days);
            }
            return(Json(new { data = result }, JsonRequestBehavior.AllowGet));
        }
 public ActionResult DeleteEmployee(int EmpId)
 {
     using (HumanResourceContext context = new HumanResourceContext())
     {
         var sqlquery  = String.Format("Delete Employees WHERE EmpId={0}", EmpId);
         var sqlquery1 = String.Format("Delete Account WHERE EmpId={0}", EmpId);
         context.Database.ExecuteSqlCommand(sqlquery);
         context.Database.ExecuteSqlCommand(sqlquery1);
     }
     //return Json(new { result = "Redirect", url = Url.Action("EmployeeList", "HumanResource") });
     return(Json("Success", JsonRequestBehavior.AllowGet));
 }
        public ActionResult totalemployee()
        {
            DateTime?            fromdate = DateTime.UtcNow.Date;
            HumanResourceContext context  = new HumanResourceContext();
            var           totalemployee   = context.Employeeset.Select(e => e.EmpId).Count();
            var           leave           = context.LeaveSet.Count(e => e.FromDate == fromdate);
            var           present         = totalemployee - leave;
            TotalEmployee data            = new TotalEmployee();

            data.totalemployee = totalemployee;
            data.leave         = leave;
            data.present       = present;
            return(Json(data, JsonRequestBehavior.AllowGet));
        }
예제 #24
0
        public ActionResult getEmployee()
        {
            HumanResourceContext  context  = new HumanResourceContext();
            List <SelectListItem> droplist = new List <SelectListItem>();

            string[] towns = context.Employeeset.Select(e => e.Name).ToArray();
            foreach (var item in towns)
            {
                droplist.Add(new SelectListItem {
                    Text = item, Value = item
                });
            }
            return(Json(droplist, JsonRequestBehavior.AllowGet));
        }
        public ActionResult EmployeeList(int page = 1, int pagesize = 10)
        {
            HumanResourceContext context = new HumanResourceContext();
            var model = new EmployeePaging();

            Employees[] employeelist = context.Employeeset.ToArray();
            var         totalcount   = employeelist.Count();
            var         totalpage    = (int)Math.Ceiling((double)totalcount / pagesize);
            var         pagedList    = new StaticPagedList <Employees>(employeelist, page, pagesize, totalcount);

            model.employeeList = pagedList;
            model.TotalCount   = totalcount;
            model.TotalPages   = totalpage;
            return(View(model));
        }
        public ActionResult PaymentForm(int EmpId, decimal salary, string Position, int payId)
        {
            HumanResourceContext context = new HumanResourceContext();
            SalaryCheck          result  = new SalaryCheck();

            if (payId == 0)
            {
                return(PartialView("PaymentForm", result));
            }
            else
            {
                result = context.SalarySet.Find(payId);
                return(PartialView("PaymentForm", result));
            }
        }
예제 #27
0
        public ActionResult AddDepartment(Departments deparment)
        {
            Departments          updatedepartment = null;
            HumanResourceContext context          = new HumanResourceContext();

            if (deparment.Id == 0)
            {
                updatedepartment = deprepo.Add(deparment);
            }
            else
            {
                updatedepartment = deprepo.Update(deparment);
            }
            return(RedirectToAction("Department", "HumanResource"));
        }
        public ActionResult LeaveForm(int LeaveId)
        {
            HumanResourceContext context = new HumanResourceContext();
            Leave result = new Leave();

            if (LeaveId == 0)
            {
                return(PartialView("LeaveForm", result));
            }
            else
            {
                result = context.LeaveSet.Find(LeaveId);
                return(PartialView("LeaveForm", result));
            }
        }
예제 #29
0
        public ActionResult AddAward(Award award)
        {
            Award updateaward            = null;
            HumanResourceContext context = new HumanResourceContext();

            if (award.ID == 0)
            {
                updateaward = awarepo.Add(award);
            }
            else
            {
                updateaward = awarepo.Update(award);
            }
            return(RedirectToAction("Award", "Award"));
        }
예제 #30
0
        public ActionResult AddVacancy(Recircument re)
        {
            Recircument          updaterecircument = null;
            HumanResourceContext context           = new HumanResourceContext();

            if (re.ReId == 0)
            {
                updaterecircument = repo.Add(re);
            }
            else
            {
                updaterecircument = repo.Update(re);
            }
            return(RedirectToAction("Vacancies", "HumanResource"));
        }