예제 #1
0
        public ActionResult LeaveRuleAddClose(LeaveRuleAddViewModel vm)
        {
            var leaveTypes             = _leaveTypeService.GetLeaveTypes().ToList();
            LeaveRuleAddViewModel lrVM = new LeaveRuleAddViewModel();

            lrVM.Params = leaveTypes;

            if (!ModelState.IsValid)
            {
                return(View(lrVM));
            }
            LeaveRuleDTO lrd = new LeaveRuleDTO();

            lrd.LeaveRuleDetails = vm.LeaveRuleDescription;
            lrd.LeaveRuleName    = vm.LeaveRuleName;

            //Inserting Leave Rules
            LeaveRuleDTO resLeaveRule = _leaveRuleService.InsertLeaveRule(lrd);

            //Inserting Leave Rule Details
            for (int i = 0; i < vm.Params.Count; i++)
            {
                LeaveRuleDetailDTO inLRD = new LeaveRuleDetailDTO();
                inLRD.LeaveRuleId = resLeaveRule.LeaveRuleId;
                inLRD.LeaveDays   = vm.Params[i].Days != null?Convert.ToDecimal(vm.Params[i].Days) : 0;

                inLRD.LeaveTypeId = Convert.ToInt32(vm.Params[i].LeaveTypeId);
                LeaveRuleDetailDTO reLRD = _leaveRuleDetailService.InsertLeaveRuleDetail(inLRD);
            }

            return(RedirectToAction("LeaveRules", "LeaveRules"));
        }
예제 #2
0
        public ActionResult LeaveRuleEdit(LeaveRuleAddViewModel vm)
        {
            string status = "failed";
            //var leaveTypes = _leaveTypeService.GetLeaveTypes().ToList();
            LeaveRuleAddViewModel lrVM = new LeaveRuleAddViewModel();
            //lrVM.Params = leaveTypes;

            LeaveRuleDTO lrd = new LeaveRuleDTO();

            lrd.LeaveRuleDetails = vm.LeaveRuleDescription;
            lrd.LeaveRuleName    = vm.LeaveRuleName;
            lrd.LeaveRuleId      = vm.LeaveRuleId;

            //Updating Leave Rules
            int abc = _leaveRuleService.UpdateLeaveRule(lrd);

            if (abc > 0)
            {
                status = "done";
            }
            //Editing Leave Rule Details
            for (int i = 0; i < vm.Params.Count; i++)
            {
                LeaveRuleDetailDTO inLRD = new LeaveRuleDetailDTO();
                inLRD.DetailId    = vm.Params[i].LeaveRuleDetailId;
                inLRD.LeaveRuleId = vm.LeaveRuleId;
                inLRD.LeaveDays   = vm.Params[i].Days != null?Convert.ToDecimal(vm.Params[i].Days) : 0;

                inLRD.LeaveTypeId = Convert.ToInt32(vm.Params[i].LeaveTypeId);
                int def = _leaveRuleDetailService.UpdateLeaveRuleDetails(inLRD);
            }
            ViewBag.Success = "The leave rule has been updated.";
            return(RedirectToAction("LeaveRuleEdit", "LeaveRules", new { id = vm.LeaveRuleId, status }));
        }
예제 #3
0
        public ActionResult LeaveRuleAdd(LeaveRuleAddViewModel vm)
        {
            var leaveTypes             = _leaveTypeService.GetLeaveTypes().ToList();
            LeaveRuleAddViewModel lrVM = new LeaveRuleAddViewModel();

            lrVM.Params = leaveTypes;

            if (!ModelState.IsValid)
            {
                return(View(lrVM));
            }
            LeaveRuleDTO lrd = new LeaveRuleDTO();

            lrd.LeaveRuleDetails = vm.LeaveRuleDescription;
            lrd.LeaveRuleName    = vm.LeaveRuleName;

            //Inserting Leave Rules
            LeaveRuleDTO resLeaveRule = _leaveRuleService.InsertLeaveRule(lrd);

            //Inserting Leave Rule Details
            for (int i = 0; i < vm.Params.Count; i++)
            {
                LeaveRuleDetailDTO inLRD = new LeaveRuleDetailDTO();
                inLRD.LeaveRuleId = resLeaveRule.LeaveRuleId;
                inLRD.LeaveDays   = vm.Params[i].Days != null?Convert.ToDecimal(vm.Params[i].Days) : 0;

                inLRD.LeaveTypeId = Convert.ToInt32(vm.Params[i].LeaveTypeId);
                LeaveRuleDetailDTO reLRD = _leaveRuleDetailService.InsertLeaveRuleDetail(inLRD);
            }
            ViewBag.Success = "The leave rule \"" + resLeaveRule.LeaveRuleName + "\" has been added.";
            ModelState.Clear();
            return(View(lrVM));
        }
예제 #4
0
        public ActionResult LeaveRuleAdd()
        {
            var leaveTypes             = _leaveTypeService.GetLeaveTypes().ToList();
            LeaveRuleAddViewModel lrVM = new LeaveRuleAddViewModel();

            lrVM.Params = leaveTypes;
            return(View(lrVM));
        }
예제 #5
0
        public ActionResult UpdateLeaveAssignDetails(LeaveRuleAddViewModel Ldvm, int Empcode)
        {
            List <LeaveAssignDetailViewModel> Data = Ldvm.UpdateResult;
            int count = Data.Count;

            foreach (var item in Ldvm.UpdateResult)
            {
                LeaveAssignedDTO lvt = new LeaveAssignedDTO();
                lvt.AssignedDays        = item.AddDays;
                lvt.AssignLeaveTypeId   = item.LeaveTypeId;
                lvt.AssignEmpCode       = Empcode;
                lvt.LeaveTakenDays      = item.AddDays;
                lvt.AssignedLeaveYearId = item.LeaveYearId;

                if (item.IsAlreadyAssigned == true && item.IsEnable == false)
                {
                    int isExist = _leaveAssigned.CheckLeaveExistence(Empcode, item.LeaveTypeId, item.LeaveYearId);
                    if (isExist == 1)
                    {
                        int isDeleted = _leaveAssigned.DeleteLeaveAssignRules(item.AssignedId);
                    }
                    else
                    {
                        Session["Error"] = "This Leave is Alredy taken by Employee.so You Can not delete this Leave";
                        return(RedirectToAction("EmployeeLeaveAssignDetails", Empcode));
                    }
                }
                else

                if (item.IsAlreadyAssigned == true && item.AddDays != 0 && item.IsEnable == true)
                {
                    int result = _leaveAssigned.UpdateLeaveAssigned(lvt);
                }
                else
                if (item.IsEnable == true && item.IsAlreadyAssigned == false)
                {
                    lvt.LeaveTakenDays = 0;
                    int result = _leaveAssigned.InsertLeaveAssigned(lvt);
                }
            }

            return(RedirectToAction("EmployeeLeaveAssignDetails", Empcode));
        }
예제 #6
0
        public ActionResult LeaveRuleEdit(int id)
        {
            LeaveRuleAddViewModel lrVM      = new LeaveRuleAddViewModel();
            LeaveRuleDTO          leaveRule = _leaveRuleService.GetLeaveRuleById(id);

            lrVM.LeaveRuleName        = leaveRule.LeaveRuleName;
            lrVM.LeaveRuleDescription = leaveRule.LeaveRuleDetails;
            lrVM.LeaveRuleId          = id;
            var leaveRuleDetailsList       = _leaveRuleDetailService.GetLeaveRuleDetails(id);
            var leavetypeList              = _leaveTypeService.GetLeaveTypes();
            List <LeaveTypeDTO> leaveTypes = (from lrdl in leaveRuleDetailsList
                                              join ltl in leavetypeList on lrdl.LeaveTypeId equals ltl.LeaveTypeId
                                              select new LeaveTypeDTO
            {
                LeaveRuleDetailId = lrdl.DetailId,
                LeaveTypeName = ltl.LeaveTypeName,
                LeaveTypeId = lrdl.LeaveTypeId,
                Days = lrdl.LeaveDays.ToString()
            }).ToList();

            lrVM.Params = leaveTypes;
            return(View(lrVM));
        }
예제 #7
0
        public ActionResult LeaveAssignIndividual(int empcode, LeaveRuleAddViewModel leave)
        {
            LeaveYearDTO             year      = _leaveServices.GetActiveYear();
            EmployeeDetailsViewModel empdetail = _employeeServices.GetEmployeeDetails(empcode);

            ViewBag.EmployeeDetail = empdetail;
            int leaveAssign = _leaveServices.UpdateLeaveAssign(empcode, year.YearId);

            foreach (var row in leave.LeaveAssign)
            {
                int update = _leaveAssigned.UpdateLeaveAssignedDaysInital(row.AssignedId, row.TotalAssignDay);
                if (update == 1)
                {
                    Session["Sucess"] = "Leave updated sucessfully!!";
                }
                else
                {
                    Session["Error"] = "Oops Seems you can not update leave at this time!!";
                }
            }

            return(RedirectToAction("EmployeeLeaveAssignDetails", empcode));
        }
예제 #8
0
        public ActionResult LeaveAssignIndividual(int empcode)
        {
            LeaveYearDTO             year      = _leaveServices.GetActiveYear();
            EmployeeDetailsViewModel empdetail = _employeeServices.GetEmployeeDetails(empcode);

            ViewBag.EmployeeDetail = empdetail;

            int leaveAssign = _leaveServices.UpdateLeaveAssign(empcode, year.YearId);

            if (leaveAssign == 1)
            {
                int id = empdetail.LeaveRuleId;

                LeaveRuleAddViewModel lrVM = new LeaveRuleAddViewModel();
                lrVM.Empdetail   = empdetail;
                lrVM.LeaveAssign = _leaveRuleService.LeaveAssignDetail(empcode).ToList();

                return(View(lrVM));
            }
            else
            {
                return(RedirectToAction("EmployeeLeaveAssignDetails", empcode));
            }
        }