コード例 #1
0
ファイル: CategoryController.cs プロジェクト: BilalZQ/MMP
        public ActionResult AddorEditDepartments(AddorEditDepartment aed)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    /*#region Department Name already exists
                     * var isDepartmentNameAssigned = IsCategoryTypeAssigned(aed.dept_name, aed.ctd_id, 1);
                     * if (isDepartmentNameAssigned)
                     * {
                     *  ModelState.AddModelError("DeparmentAssigned", "Department Name is already assigned");
                     *  return View(aed);
                     * }
                     #endregion*/

                    #region Department Code already assigned
                    var isDepartmentCodeAssigned = IsCategoryTypeAssigned(aed.code, aed.ctd_id, 0);
                    if (isDepartmentCodeAssigned)
                    {
                        ModelState.AddModelError("DepartmentAssigned", "Department Code is already assigned");
                        return(View(aed));
                    }
                    #endregion

                    if (aed.ctd_id == 0)
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_name       = aed.dept_name,
                            ctd_code       = aed.code,
                            category_id    = aed.category_id,
                            ctd_created_at = DateTime.Now
                        };

                        mP.category_type_details.Add(ctd);
                        mP.SaveChanges();
                        return(Json(new { success = true, message = "Saved Successfully " }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_id         = aed.ctd_id,
                            ctd_name       = aed.dept_name,
                            ctd_code       = aed.code,
                            category_id    = aed.category_id,
                            ctd_created_at = aed.ctd_created_at,
                            ctd_updated_at = DateTime.Now
                        };
                        mP.Entry(ctd).State = EntityState.Modified;
                        mP.SaveChanges();
                        return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            else
            {
                return(View(aed));
            }
        }
コード例 #2
0
        public ActionResult AddSectors(List <AddSector> sectors)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    mP.Configuration.ProxyCreationEnabled = false;

                    foreach (var i in sectors)
                    {
                        #region Sector Already Exists
                        var isSectorExists = IsSectorExist(i.sector_name);
                        if (isSectorExists)
                        {
                            ModelState.AddModelError("SectorExists", "Sector already exists");
                            return(View(sectors));
                        }
                        #endregion
                        sector sector = new sector()
                        {
                            sector_name = i.sector_name
                        };
                        mP.sectors.Add(sector);
                    }
                    mP.SaveChanges();
                    return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(View(sectors));
            }
        }
コード例 #3
0
 public ActionResult EditSector(EditSector ae)
 {
     if (ModelState.IsValid)
     {
         using (mmpEntities mP = new mmpEntities())
         {
             #region Sector Already Exists
             var isSectorExists = IsSectorExist(ae.sector_name);
             if (isSectorExists)
             {
                 ModelState.AddModelError("SectorExists", "Sector already exists");
                 return(View(ae));
             }
             #endregion
             sector sector = new sector()
             {
                 sector_id   = ae.sector_id,
                 sector_name = ae.sector_name
             };
             mP.Entry(sector).State = EntityState.Modified;
             mP.SaveChanges();
             return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
         }
     }
     return(View());
 }
コード例 #4
0
ファイル: RegionController.cs プロジェクト: BilalZQ/MMP
        public ActionResult AddRegions(List <AddRegion> regions)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    mP.Configuration.ProxyCreationEnabled = false;

                    foreach (var i in regions)
                    {
                        #region Region Already exists
                        var isRegionExists = IsRegionExist(i.region_name);
                        if (isRegionExists)
                        {
                            ModelState.AddModelError("RegionExists", "Region already exists");
                            return(View(regions));
                        }
                        #endregion
                        region region = new region()
                        {
                            region_name = i.region_name
                        };
                        mP.regions.Add(region);
                    }
                    mP.SaveChanges();
                    return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(View(regions));
            }
        }
コード例 #5
0
ファイル: RegionController.cs プロジェクト: BilalZQ/MMP
        public ActionResult EditRegion(EditRegion ae)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    #region Region Already exists
                    var isRegionExists = IsRegionExist(ae.region_name);
                    if (isRegionExists)
                    {
                        ModelState.AddModelError("RegionExists", "Region already exists");
                        return(View(ae));
                    }
                    #endregion

                    region region = new region()
                    {
                        region_id   = ae.region_id,
                        region_name = ae.region_name
                    };
                    mP.Entry(region).State = EntityState.Modified;
                    mP.SaveChanges();
                    return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                }
            }
            return(View());
        }
コード例 #6
0
ファイル: UserController.cs プロジェクト: BilalZQ/MMP
 public ActionResult Delete(int id)
 {
     using (mmpEntities mP = new mmpEntities())
     {
         user userDetails = mP.users.Where(x => x.user_id == id).FirstOrDefault <user>();
         //mP.users.Remove(userDetails);
         //mP.SaveChanges();
         userDetails.user_status     = "inactive";
         mP.Entry(userDetails).State = EntityState.Modified;
         mP.SaveChanges();
         return(Json(new { success = true, message = "Deleted Successfully" }, JsonRequestBehavior.AllowGet));
     }
 }
コード例 #7
0
ファイル: UserController.cs プロジェクト: BilalZQ/MMP
        public ActionResult ChangePassword(ChangePasswordVM userpassVM)
        {
            using (mmpEntities mP = new mmpEntities())
            {
                user user = mP.users.Where(x => x.user_id == userpassVM.user_id).FirstOrDefault();
                #region Password Hashing
                user.user_password = Crypto.Hash(userpassVM.password);
                #endregion
                mP.SaveChanges();

                return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #8
0
        public ActionResult AddHolidays(List <AddHolidays> AHD)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    mP.Configuration.ProxyCreationEnabled = false;

                    foreach (var i in AHD)
                    {
                        #region Holiday Already Exists
                        var isHolidayAssigned = IsHolidayAssigned(i.hd_name, i.hy_id, i.hd_from.Date);
                        if (isHolidayAssigned)
                        {
                            ModelState.AddModelError("HolidayAssigned", "Holiday Already added for the year");
                            return(View(AHD));
                        }
                        #endregion
                        DateTime startDate = StartOfWeek(DateTime.Today, DayOfWeek.Monday);
                        DateTime endDate   = startDate.AddDays(6);
                        #region Validate dates
                        if (i.hd_from.Date > i.hd_to.Date)
                        {
                            ModelState.AddModelError("InvalidDate", "To Date should be equal to or greater than start date");
                            return(View(AHD));
                        }
                        if (i.hd_from.Date < endDate)
                        {
                            ModelState.AddModelError("InvalidDate", "Cannot add dates for previous and current weeks");
                            return(View(AHD));
                        }
                        #endregion
                        holiday_details hd = new holiday_details()
                        {
                            hd_name = i.hd_name,
                            hd_from = i.hd_from,
                            hd_to   = i.hd_to,
                            //hy_id = null, // Since we are not using holiday_year table anymore
                            generated_by = 1 // AUTOMATE USER ID
                        };
                        mP.holiday_details.Add(hd);
                    }
                    mP.SaveChanges();
                    ModelState.Clear();
                    return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                }
            }
            return(View(AHD));
        }
コード例 #9
0
 public ActionResult Delete(int id)
 {
     using (mmpEntities mP = new mmpEntities())
     {
         DateTime        startDate = StartOfWeek(DateTime.Today, DayOfWeek.Monday);
         DateTime        endDate   = startDate.AddDays(6);
         holiday_details hd        = mP.holiday_details.Where(x => x.hd_id == id).FirstOrDefault <holiday_details>();
         if (hd.hd_from > endDate)
         {
             mP.holiday_details.Remove(hd);
             mP.SaveChanges();
             return(Json(new { success = true, message = "Deleted Successfully" }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             return(Json(new { success = false, message = "Cannot delete holiday entries for current and previous weeks!" }, JsonRequestBehavior.AllowGet));
         }
     }
 }
コード例 #10
0
        public ActionResult GetData()
        {
            using (mmpEntities mP = new mmpEntities())
            {
                mP.Configuration.ProxyCreationEnabled = false;

                DateTime date = DateTime.Now;
                ViewBag.Year = date.Year;
                var year = mP.holiday_year.Where(x => x.year == DateTime.Now.Year).FirstOrDefault <holiday_year>();
                if (year == null)
                {
                    holiday_year hy = new holiday_year()
                    {
                        //hy_name = "Holiday list for " + date.Year.ToString(),
                        hy_name       = "Holiday list",
                        creation_date = date,
                        year          = (Int16)date.Year // Cast int to short
                    };
                    mP.holiday_year.Add(hy);
                    mP.SaveChanges();
                    return(Json(new { data = year }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    /*var holidays =  (from hd in mP.holiday_details
                     *              join hy in mP.holiday_year on hd.hy_id equals hy.hy_id
                     *              select new
                     *              {
                     *                  hd,
                     *                  year = hy.year
                     *              }).OrderByDescending(x => x.year);*/
                    var holidays = (from hd in mP.holiday_details
                                    select new
                    {
                        hd,
                        year = hd.hd_to.Year
                    }).OrderByDescending(x => x.year);

                    return(Json(new { data = holidays.AsNoTracking().ToList() }, JsonRequestBehavior.AllowGet));
                }
            }
        }
コード例 #11
0
ファイル: UserController.cs プロジェクト: BilalZQ/MMP
        public ActionResult EditUser(EditUser editUser)
        {
            using (mmpEntities mP = new mmpEntities())
            {
                ViewBag.roles       = mP.roles.ToList <role>();
                ViewBag.regions     = mP.regions.ToList <region>();
                ViewBag.supervisors = mP.users.Where(a => a.user_id == mP.roles.FirstOrDefault(x => x.role_name == "supervisor").role_id&& a.user_id != editUser.user_id).ToList <user>();
                ViewBag.departments = mP.category_type_details.Where(x => x.category_id == (mP.categories.FirstOrDefault(z => z.category_name == "departments").category_id)).ToList <category_type_details>();
                ViewBag.projects    = mP.category_type_details.Where(x => x.category_id == (mP.categories.FirstOrDefault(z => z.category_name == "projects").category_id)).ToList <category_type_details>();

                ViewBag.supervisorsl = mP.users.Where(a => a.role_id == mP.roles.FirstOrDefault(x => x.role_name == "supervisor").role_id&& a.user_id != editUser.user_id && a.user_status == "active").Select(p => new SelectListItem()
                {
                    Text  = p.employee_id + "    " + p.user_name,
                    Value = p.user_id.ToString()
                }).ToList();


                if (ModelState.IsValid)
                {
                    #region Employee ID Already Exists
                    var isEmployeeIDExists = isEmployeeIDExist(editUser.employee_id, editUser.user_id);
                    if (isEmployeeIDExists)
                    {
                        ModelState.AddModelError("EmployeeExist", "Employee already exists");
                        return(View(editUser));
                    }
                    #endregion


                    /*#region User Already Exists
                     * var isUserExists = isUserExist(editUser.user_name, editUser.user_id);
                     * if (isUserExists)
                     * {
                     *  ModelState.AddModelError("UserExist", "Username already exists");
                     *  return View(editUser);
                     * }
                     #endregion*/

                    #region Email Already Exists
                    var isEmailExists = IsEmailExist(editUser.user_email, editUser.user_id);
                    if (isEmailExists)
                    {
                        ModelState.AddModelError("EmailExists", "Email already exists");
                        return(View(editUser));
                    }
                    #endregion

                    user user = mP.users.Where(x => x.user_id == editUser.user_id).First();
                    user.user_name               = editUser.user_name;
                    user.role_id                 = editUser.role_id;
                    user.employee_id             = editUser.employee_id;
                    user.user_email              = editUser.user_email;
                    user.designation             = editUser.designation;
                    user.supervisor              = editUser.supervisor;
                    user.updated_at              = DateTime.Now;
                    user.region_id               = editUser.region_id;
                    user.user_primary_department = editUser.user_primary_department;
                    user.user_primary_project    = editUser.user_primary_project;
                    mP.Entry(user).State         = EntityState.Modified;
                    mP.SaveChanges();

                    return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                }
            }

            return(View(editUser));
        }
コード例 #12
0
ファイル: UserController.cs プロジェクト: BilalZQ/MMP
        public ActionResult AddUser(AddUser newUser)
        {
            using (mmpEntities mP = new mmpEntities())
            {
                ViewBag.roles       = mP.roles.ToList <role>();
                ViewBag.regions     = mP.regions.ToList <region>();
                ViewBag.supervisors = mP.users.Where(a => a.role_id == mP.roles.FirstOrDefault(x => x.role_name == "supervisor").role_id).ToList <user>();
                ViewBag.departments = mP.category_type_details.Where(x => x.category_id == (mP.categories.FirstOrDefault(z => z.category_name == "departments").category_id)).ToList <category_type_details>();
                ViewBag.projects    = mP.category_type_details.Where(x => x.category_id == (mP.categories.FirstOrDefault(z => z.category_name == "projects").category_id)).ToList <category_type_details>();

                ViewBag.supervisorsl = mP.users.Where(a => a.role_id == mP.roles.FirstOrDefault(x => x.role_name == "supervisor").role_id&& a.user_status == "active").Select(p => new SelectListItem()
                {
                    Text  = p.employee_id + "    " + p.user_name,
                    Value = p.user_id.ToString()
                }).ToList();

                #region Employee ID Already Exists
                var isEmployeeIDExists = isEmployeeIDExist(newUser.employee_id);
                if (isEmployeeIDExists)
                {
                    ModelState.AddModelError("EmployeeExist", "Employee already exists");
                    return(View(newUser));
                }
                #endregion

                /*#region User Already Exists
                 * var isUserExists = isUserExist(newUser.user_name);
                 * if (isUserExists)
                 * {
                 *  ModelState.AddModelError("UserExist", "User already exists");
                 *  return View(newUser);
                 * }
                 #endregion*/

                #region Email Already exists
                var isEmailExists = IsEmailExist(newUser.user_email);
                if (isEmailExists)
                {
                    ModelState.AddModelError("EmailExist", "Email already exists");
                    newUser.user_name = "Enter New Name";
                    return(View(newUser));
                }
                #endregion

                if (ModelState.IsValid)
                {
                    ModelState.AddModelError("UserExist", "User already exists");

                    #region Password Hashing
                    newUser.user_password   = Crypto.Hash(newUser.user_password);
                    newUser.confirmPassword = Crypto.Hash(newUser.confirmPassword);
                    #endregion

                    user user = new user()
                    {
                        role_id                 = newUser.role_id,
                        employee_id             = newUser.employee_id,
                        user_name               = newUser.user_name,
                        user_email              = newUser.user_email,
                        designation             = newUser.designation,
                        user_password           = newUser.user_password,
                        created_at              = DateTime.Now,
                        supervisor              = newUser.supervisor,
                        region_id               = newUser.region_id,
                        user_primary_department = newUser.user_primary_department,
                        user_primary_project    = newUser.user_primary_project,
                        user_status             = "active",
                        join_date               = newUser.joining_date
                    };

                    mP.users.Add(user);

                    //var timesheet = mP.timesheet_mr.Where(x => x.tsmr_valid_till > DateTime.Now && x.tsmr_start_date < DateTime.Now).FirstOrDefault<timesheet_mr>();
                    var timesheets = mP.timesheet_mr.Where(x => x.tsmr_valid_till > user.join_date).ToList <timesheet_mr>();
                    foreach (timesheet_mr timesheet in timesheets)
                    {
                        string body;
                        if (timesheet != null)
                        {
                            timesheet ts = new timesheet()
                            {
                                timesheet_user   = user.user_id,
                                time_my          = DateTime.Now,
                                timesheet_status = "saved",
                                timesheet_caller = timesheet.tsmr_id,
                                tsmr_extension   = timesheet.tsmr_valid_till > DateTime.Now ? timesheet.tsmr_valid_till : DateTime.Now.AddDays(-1)
                            };
                            mP.timesheets.Add(ts);


                            foreach (DateTime day in EachDay(timesheet.tsmr_start_date, timesheet.tsmr_valid_till))
                            {
                                presence ps = new presence()
                                {
                                    p_date       = day,
                                    total_hours  = 0,
                                    leave_status = "",
                                    user_id      = user.user_id
                                };
                                mP.presences.Add(ps);
                            }


                            body = "<br></br>" + user.user_name + ", New TimeSheet is assigned to you. TimeSheet is valid Till " + timesheet.tsmr_valid_till + ". Visit the following website to access timeSheet<br></br>" +
                                   "<a href='http://magcom-001-site3.etempurl.com'>http://magcom-001-site3.etempurl.com</a>";

                            Task.Run(() => EmailAlert.SendEmail(user.user_email, body));
                        }
                    }

                    #region Save to Database
                    mP.SaveChanges();
                    #endregion

                    return(Json(new { success = true, message = "Saved Successfully" }));
                }
                else
                {
                    return(Json(new { success = true, message = "Invalid Request" }));
                }
            }
        }
コード例 #13
0
ファイル: CategoryController.cs プロジェクト: BilalZQ/MMP
        public ActionResult AddorEditLeaves(AddorEditLeave ael)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    /*#region Leave Name already assigned
                     * var isLeaveNameAssigned = IsCategoryTypeAssigned(ael.leave_name, ael.ctd_id, 1);
                     * if (isLeaveNameAssigned)
                     * {
                     *  ModelState.AddModelError("LeaveAssigned", "Leave Name is already assigned");
                     *  return View(ael);
                     * }
                     #endregion*/

                    #region Leave Code already assigned
                    var isLeaveCodeAssigned = IsCategoryTypeAssigned(ael.code, ael.ctd_id, 0);
                    if (isLeaveCodeAssigned)
                    {
                        ModelState.AddModelError("LeaveAssigned", "Leave Code is already assigned");
                        return(View(ael));
                    }
                    #endregion

                    if (ael.ctd_id == 0)
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_name       = ael.leave_name,
                            ctd_code       = ael.code,
                            category_id    = ael.category_id,
                            ctd_created_at = DateTime.Now
                        };

                        mP.category_type_details.Add(ctd);
                        mP.SaveChanges();

                        leave_details ld = new leave_details()
                        {
                            no_of_leaves     = ael.no_of_leaves,
                            encashable       = ael.encashable,
                            carry_forward    = ael.carry_forward,
                            category_type_id = ctd.ctd_id
                        };

                        mP.leave_details.Add(ld);
                        mP.SaveChanges();
                        return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_id         = ael.ctd_id,
                            ctd_name       = ael.leave_name,
                            ctd_code       = ael.code,
                            category_id    = ael.category_id,
                            ctd_created_at = ael.ctd_created_at,
                            ctd_updated_at = DateTime.Now
                        };


                        leave_details ld = new leave_details()
                        {
                            id               = ael.leave_details_id,
                            no_of_leaves     = ael.no_of_leaves,
                            encashable       = ael.encashable,
                            carry_forward    = ael.carry_forward,
                            category_type_id = ctd.ctd_id
                        };

                        mP.Entry(ctd).State = EntityState.Modified;
                        mP.Entry(ld).State  = EntityState.Modified;
                        mP.SaveChanges();

                        return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            else
            {
                return(View(ael));
            }
        }
コード例 #14
0
ファイル: CategoryController.cs プロジェクト: BilalZQ/MMP
        public ActionResult AddorEditProjects(AddorEditProject aep)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    ViewBag.Sectors = mP.sectors.ToList <sector>();
                    ViewBag.Regions = mP.regions.ToList <region>();

                    /*#region Project Name is already assigned
                     * var isProjectNameAssigned = IsCategoryTypeAssigned(aep.proj_name, aep.ctd_id, 1);
                     * if (isProjectNameAssigned)
                     * {
                     *  ModelState.AddModelError("ProjectAssigned", "Project Name is already assigned");
                     *  return View(aep);
                     * }
                     #endregion*/

                    #region Project Code is already assigned
                    var isProjectCodeAssigned = IsCategoryTypeAssigned(aep.code, aep.ctd_id, 0);
                    if (isProjectCodeAssigned)
                    {
                        ModelState.AddModelError("ProjectAssigned", "Project Code is already assigned");
                        return(View(aep));
                    }
                    #endregion

                    if (aep.ctd_id == 0)
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_name       = aep.proj_name,
                            ctd_code       = aep.code,
                            category_id    = aep.category_id,
                            ctd_created_at = DateTime.Now
                        };

                        mP.category_type_details.Add(ctd);
                        //mP.SaveChanges();

                        project_details pd = new project_details()
                        {
                            sector_id        = aep.sector_id,
                            region_id        = aep.region_id,
                            project_model    = aep.proj_model,
                            category_type_id = ctd.ctd_id
                        };
                        mP.project_details.Add(pd);
                        mP.SaveChanges();
                        return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_id         = aep.ctd_id,
                            ctd_name       = aep.proj_name,
                            ctd_code       = aep.code,
                            category_id    = aep.category_id,
                            ctd_created_at = aep.ctd_created_at,
                            ctd_updated_at = DateTime.Now
                        };

                        project_details pd = new project_details()
                        {
                            id               = aep.proj_details_id,
                            sector_id        = aep.sector_id,
                            region_id        = aep.region_id,
                            project_model    = aep.proj_model,
                            category_type_id = aep.ctd_id
                        };
                        Debug.WriteLine(aep.proj_model);
                        mP.Entry(ctd).State = EntityState.Modified;
                        mP.Entry(pd).State  = EntityState.Modified;
                        mP.SaveChanges();

                        return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            else
            {
                return(View(aep));
            }
        }