예제 #1
0
        public ActionResult LeaveResponse(int?id)
        {
            IStructuredetailRepository repo    = new StructuredetailRepository();
            IDepartmentRepository      deprepo = new DepartmentRepository();
            IEmployeeRepository        emprepo = new EmployeeRepository();

            var Data = (from req in repo.GetReq()
                        join emp in emprepo.GetAll() on req.EmployeeId equals emp.EmployeeId
                        join pos in repo.Getpos() on req.PositionId equals pos.Id
                        join dep in deprepo.GetAll() on emp.DepartmentId equals dep.DepartmentId
                        where req.RequestId == id
                        select new RequestVM
            {
                EmployeeId = (int)req.EmployeeId,
                EmployeeName = emp.EmployeeName,
                CityName = emp.CityName,
                DateofRequest = (DateTime)req.DateofRequest,
                RequestId = req.RequestId,
                Position = pos.Position,
                DepartmentName = dep.DepartmentName,
                ReasonofRequest = req.ReasonofRequest,
                FromDate = (DateTime)req.FromDate,
                ToDate = (DateTime)req.ToDate,
                Leavetype = req.LeaveType
            }).FirstOrDefault();


            return(View(Data));
        }
예제 #2
0
        public ActionResult ViewLeaveResponse(int?id)
        {
            IStructuredetailRepository repo    = new StructuredetailRepository();
            IDepartmentRepository      deprepo = new DepartmentRepository();
            IEmployeeRepository        emprepo = new EmployeeRepository();

            var Data = (from req in repo.GetReq()
                        join emp in emprepo.GetAll() on req.EmployeeId equals emp.EmployeeId
                        join pos in repo.Getpos() on req.PositionId equals pos.Id
                        join cupos in repo.Getpos() on emp.PositionId equals cupos.Id
                        join dep in deprepo.GetAll() on emp.DepartmentId equals dep.DepartmentId
                        where req.RequestId == id
                        select new RequestVM
            {
                EmployeeId = (int)req.EmployeeId,
                EmployeeName = emp.EmployeeName,
                CityName = emp.CityName,
                DateofRequest = (DateTime)req.DateofRequest,
                RequestId = req.RequestId,
                Position = cupos.Position,
                DepartmentName = dep.DepartmentName,
                PositiontoTransfer = pos.Position,
                positionid = (int)req.PositionId,
                CitytoTransfer = req.CitytoTranser,
                ReasonofRequest = req.ReasonofRequest,
                Status = req.Status,
                ResponseReason = req.ResponseReason
            }).FirstOrDefault();

            return(View(Data));
        }
예제 #3
0
        public ActionResult RequestTransfer(RequestVM model)
        {
            IStructuredetailRepository obj = new StructuredetailRepository();
            var poslist    = obj.Getpos().ToList();
            var city       = Session["CityName"].ToString();
            var empid      = Session["EmployeeId"].ToString();
            var role       = Session["RoleName"].ToString();
            var checkempid = obj.GetReq().Where(x => x.EmployeeId == Convert.ToInt32(empid)).FirstOrDefault();

            SelectList list = new SelectList(poslist, "Id", "Position");

            ViewBag.getposlist = list;
            if (city == "Karachi")
            {
                var cityname = new SelectList(new[]
                {
                    new { ID = "1", Name = "Lahore" },
                    new { ID = "2", Name = "Islamabad" }
                },
                                              "Name", "Name", "1"
                                              );
                ViewBag.CitytoTransfer = cityname;
            }
            else if (city == "Lahore")
            {
                var cityname1 = new SelectList(new[]
                {
                    new { ID = "1", Name = "Karachi" },
                    new { ID = "2", Name = "Islamabad" }
                },
                                               "Name", "Name", "1"
                                               );

                ViewBag.CitytoTransfer = cityname1;
            }
            else if (city == "Islamabad")
            {
                var cityname2 = new SelectList(new[]
                {
                    new { ID = "1", Name = "Karachi" },
                    new { ID = "2", Name = "Lahore" }
                },
                                               "Name", "Name", "1"
                                               );
                ViewBag.CitytoTransfer = cityname2;
            }


            if (role != "DGM")
            {
                var add = obj.Addreqt(Convert.ToInt32(empid), model.positionid, model.CitytoTransfer, model.ReasonofRequest);
                obj.AddReq(add);
                obj.Save();
                TempData["SuccessMessage101"] = "Successfully Submitted";
            }
            else
            {
                var add = obj.Addreqtfordgm(Convert.ToInt32(empid), model.positionid, model.CitytoTransfer, model.ReasonofRequest);
                obj.AddReq(add);
                obj.Save();
                TempData["SuccessMessage101"] = "Successfully Submitted";
            }

            return(View());
        }
예제 #4
0
        public ActionResult LeaveRequest(RequestVM model)
        {
            IEmployeeRepository        obj  = new EmployeeRepository();
            IStructuredetailRepository repo = new StructuredetailRepository();
            var empid            = Session["EmployeeId"].ToString();
            var posid            = Session["Position"].ToString();
            var role             = Session["RoleName"].ToString();
            var Duplicatereq     = repo.GetReq().Where(a => a.EmployeeId == Convert.ToInt32(empid)).Where(x => x.RequestType == "Leave" && x.IsSeen == false).FirstOrDefault();
            var CasualLeavesLeft = obj.GetEmpLeaves().Where(x => x.EmployeeId == Convert.ToInt32(empid) && x.CasualLeave == 0).FirstOrDefault();
            var SickLeavesLeft   = obj.GetEmpLeaves().Where(x => x.EmployeeId == Convert.ToInt32(empid) && x.SickLeave == 0).FirstOrDefault();

            if (model.ToDate < model.FromDate)
            {
                TempData["SuccessMessage101"] = "From Date Should not be greater or equal than To Date";

                var leavelist = new SelectList(new[]
                {
                    new { ID = "1", Name = "Casual Leave" },
                    new { ID = "2", Name = "Sick Leave" }
                },
                                               "Name", "Name", "1"
                                               );
                ViewBag.getleavelist = leavelist;
            }
            else
            {
                if (Duplicatereq != null)
                {
                    TempData["SuccessMessage101"] = "You have already Submitted Leave Request";
                    var leavelist = new SelectList(new[]
                    {
                        new { ID = "1", Name = "Casual Leave" },
                        new { ID = "2", Name = "Sick Leave" }
                    },
                                                   "Name", "Name", "1"
                                                   );
                    ViewBag.getleavelist = leavelist;
                }
                else
                {
                    if (CasualLeavesLeft == null && model.Leavetype == "Casual Leave")
                    {
                        obj.updatecasualleaveleft(Convert.ToInt32(empid));
                        obj.Save();

                        var leavelist = new SelectList(new[]
                        {
                            new { ID = "1", Name = "Casual Leave" },
                            new { ID = "2", Name = "Sick Leave" }
                        },
                                                       "Name", "Name", "1"
                                                       );
                        ViewBag.getleavelist = leavelist;

                        if (role == "Hr Manager")
                        {
                            var add = obj.AddReqlforhr(Convert.ToInt32(empid), Convert.ToInt32(posid), model.FromDate, model.ToDate, model.ReasonofRequest, "Casual Leave");
                            obj.AddLeaveReq(add);
                            obj.Save();
                            TempData["SuccessMessage102"] = "Success";
                        }
                        else
                        {
                            var add = obj.AddReql(Convert.ToInt32(empid), Convert.ToInt32(posid), model.FromDate, model.ToDate, model.ReasonofRequest, "Casual Leave");
                            obj.AddLeaveReq(add);
                            obj.Save();
                            TempData["SuccessMessage102"] = "Success";
                        }
                    }
                    else if (model.Leavetype == "Casual Leave")
                    {
                        TempData["SuccessMessage101"] = "You do not have Casual Leave Left";
                        var leavelist = new SelectList(new[]
                        {
                            new { ID = "1", Name = "Casual Leave" },
                            new { ID = "2", Name = "Sick Leave" }
                        },
                                                       "Name", "Name", "1"
                                                       );
                        ViewBag.getleavelist = leavelist;
                    }
                    if (SickLeavesLeft == null && model.Leavetype == "Sick Leave")
                    {
                        obj.updatesickleaveleft(Convert.ToInt32(empid));
                        obj.Save();
                        var add = obj.AddReqlforhr(Convert.ToInt32(empid), Convert.ToInt32(posid), model.FromDate, model.ToDate, model.ReasonofRequest, "Sick Leave");
                        obj.AddLeaveReq(add);
                        obj.Save();

                        var leavelist = new SelectList(new[]
                        {
                            new { ID = "1", Name = "Casual Leave" },
                            new { ID = "2", Name = "Sick Leave" }
                        },
                                                       "Name", "Name", "1"
                                                       );
                        ViewBag.getleavelist          = leavelist;
                        TempData["SuccessMessage102"] = "Success";
                    }
                    else if (model.Leavetype == "Sick Leave")
                    {
                        TempData["SuccessMessage101"] = "You do not have Sick Leave Left";
                        var leavelist = new SelectList(new[]
                        {
                            new { ID = "1", Name = "Casual Leave" },
                            new { ID = "2", Name = "Sick Leave" }
                        },
                                                       "Name", "Name", "1"
                                                       );
                        ViewBag.getleavelist = leavelist;
                    }
                }
            }


            return(View());
        }