Exemple #1
0
 public ActionResult EditEmpDetails([DataSourceRequest] DataSourceRequest request, IEnumerable <ProjectInvolvementPercentageModel> employees, ProjectInvolvementPercentageModel griditems)
 {
     // ViewBag.EmployeeList = DropdownList.EmployeeList();
     try
     {
         long empid = 0;
         foreach (ProjectInvolvementPercentageModel item in employees)
         {
             empid = item.EmployeeID;
             DateTime?startDate = null;
             if (item.StartDate.HasValue)
             {
                 startDate = Convert.ToDateTime(item.StartDate.Value);
             }
             DateTime?endDate = null;
             if (item.EndDate.HasValue)
             {
                 endDate = Convert.ToDateTime(item.EndDate.Value);
             }
             ProjectEmployeesModel existing = DB.ProjectEmployee.FirstOrDefault(x => x.EmployeeID == item.EmployeeID && x.ProjectID == item.ProjectId);//&& x.StartDate == startDate && x.EndDate == endDate
             if (existing != null)
             {
                 existing.StartDate     = startDate;
                 existing.EndDate       = endDate;
                 existing.InvPercentage = item.InvolvePercent;
                 DB.ProjectEmployee.Attach(existing);
                 DB.Entry(existing).State = System.Data.Entity.EntityState.Modified;
                 DB.SaveChanges();
             }
         }
         List <ProjectInvolvementPercentageModel> GetDetails = DB.Database.SqlQuery <ProjectInvolvementPercentageModel>(
             @"exec " + Constants.P_GetMasterListOfTotalProjectInvolvement + " @empID",
             new object[] {
             new SqlParameter("@empID", empid)
         }).ToList();
         DataSourceResult result = employees.ToDataSourceResult(request);
         return(Json(result));
     }
     catch (Exception ex)
     {
         LogHelper.ErrorLog(ex);
         throw ex;
     }
 }
Exemple #2
0
        public ActionResult UpdateEmployee(ProjectEmpList EEP)
        {
            try
            {
                if (EEP.StartDate == DateTime.MinValue || EEP.EndDate == DateTime.MinValue)
                {
                    ViewBag.RoleList = DropdownList.RoleList();
                    ViewBag.Message  = "Please enter valid start date or end date";
                    return(View("EmployeeEdit", EEP));
                }
                if (EEP.EndDate < EEP.StartDate)
                {
                    ViewBag.RoleList = DropdownList.RoleList();
                    ViewBag.Message  = "End Date Can not be less than the start date";
                    return(View("EmployeeEdit", EEP));
                }
                long     empid       = EEP.EmployeeID;
                DateTime startDate   = Convert.ToDateTime(EEP.StartDate);
                DateTime endDate     = Convert.ToDateTime(EEP.EndDate);
                DateTime currentDate = DateTime.Now;
                //long projectID = Convert.ToInt64(Session["ProjectId"]);
                List <int> totalInvolvement   = DB.Employee.Where(x => x.EmployeeID == empid).Select(x => x.TotalInvolvement ?? 100).ToList();
                decimal?   currentInvolvement = (from x in DB.ProjectEmployee
                                                 join y in DB.ProjectMaster on x.ProjectID equals y.ProjectID
                                                 where x.EmployeeID == empid && (x.EndDate >= DateTime.Now || !x.EndDate.HasValue) && x.ProjectID != EEP.ProjectID
                                                 select x.InvPercentage).Sum();

                // currentInvolvement = currentInvolvement + EEP.InvPercentage;
                if (totalInvolvement[0] >= (currentInvolvement ?? 0))
                {
                    decimal?availableInvolvement = totalInvolvement[0] - (currentInvolvement ?? 0);
                    if (availableInvolvement >= EEP.InvPercentage)
                    {
                        // var projectId = Convert.ToInt64(Session["ProjectId"].ToString());
                        ProjectEmployeesModel emp = DB.ProjectEmployee.AsQueryable().FirstOrDefault(x => x.EmployeeID == EEP.EmployeeID && x.ProjectID == EEP.ProjectID);
                        if (emp != null)
                        {
                            emp.CheckRole     = EEP.CheckRole;
                            emp.InvPercentage = EEP.InvPercentage;
                            emp.ModifiedBy    = (long)Session[Constants.SessionEmpID];
                            emp.ModifiedDate  = DateTime.Now;
                            emp.StartDate     = EEP.StartDate;
                            emp.EndDate       = EEP.EndDate;
                            emp.RefRole       = EEP.IsRDProject == 1 ? EEP.RoleID : 0;

                            DB.Entry(emp).State = System.Data.Entity.EntityState.Modified;
                            DB.SaveChanges();
                        }
                    }
                    else
                    {
                        ViewBag.RoleList = DropdownList.RoleList();
                        ViewBag.Message  = "The maximum limit of involvement percentage is exceed. Please edit Percentage of Involvment field";
                        return(View("EmployeeEdit", EEP));
                    }
                }
                else
                {
                    ViewBag.RoleList = DropdownList.RoleList();
                    ViewBag.Message  = "Exceeds the Total Involvement Percentage Limit";
                    return(View("EmployeeEdit", EEP));
                }
                return(RedirectToAction("ProjectEdit", "ProjectMaster", new { id = EEP.ProjectID }));
            }
            catch (Exception ex)
            {
                LogHelper.ErrorLog(ex);
                throw ex;
            }
        }
        public JsonResult Search([DataSourceRequest] DataSourceRequest request, long projectid, int grantId)
        {
            GetDropdownList();
            try
            {
                long empid = (long)Session[Constants.SessionEmpID];
                //long role = (long)Session[Constants.SessionRoleID];
                //long userid = (long)Session[Constants.SessionUserID];
                //if (role == 1)
                //{
                List <ProjectMasterModel> projectList = DB.ProjectMaster.Where(x => x.ProjectID == (projectid == 0 ? x.ProjectID : projectid) && x.ProjectGrant == (grantId == 0 ? x.ProjectGrant : grantId)).ToList();
                var projectEmpolyees          = DB.ProjectEmployee.Where(x => x.EmployeeID == empid).ToList();
                var projectGrants             = DB.MasterData.Where(x => x.MstTypeID == 3).ToList();
                List <SearchList> allProjectS = new List <SearchList>();
                foreach (ProjectMasterModel item in projectList)
                {
                    ProjectEmployeesModel project = projectEmpolyees.Where(x => x.ProjectID == item.ProjectID && x.EmployeeID == empid).FirstOrDefault();
                    string projectGrant           = projectGrants.Where(x => x.MstID == item.ProjectGrant).FirstOrDefault()?.MstName;
                    if (project != null)
                    {
                        allProjectS.Add(new SearchList()
                        {
                            ProjectId     = project.ProjectID,
                            isPM          = project.CheckRole ? "YES" : "NO",
                            EmpEndDate    = project.EndDate.Value.ToString("dd MMM yyyy"),
                            EmpStartDate  = project.StartDate.Value.ToString("dd MMM yyyy"),
                            InvPercentage = project.InvPercentage.Value,
                            prgEndDate    = item.EndDate.Value.ToString("dd MMM yyyy"),
                            prgStartDate  = item.StartDate.Value.ToString("dd MMM yyyy"),
                            ProjectCode   = item.ProjectCode,
                            ProjectGrant  = projectGrant,
                            ProjectName   = item.ProjectName
                        });
                    }
                    else
                    {
                        allProjectS.Add(new SearchList()
                        {
                            ProjectId     = item.ProjectID,
                            isPM          = "",
                            EmpEndDate    = "",
                            EmpStartDate  = "",
                            InvPercentage = null,
                            prgEndDate    = item.EndDate.Value.ToString("dd MMM yyyy"),
                            prgStartDate  = item.StartDate.Value.ToString("dd MMM yyyy"),
                            ProjectCode   = item.ProjectCode,
                            ProjectGrant  = projectGrant,
                            ProjectName   = item.ProjectName
                        });
                    }
                }

                return(Json(allProjectS.ToDataSourceResult(request)));
            }
            catch (Exception ex)
            {
                LogHelper.ErrorLog(ex);
                throw ex;
            }

            //  return Json(new { data = "" });
        }