public PartialViewResult Edit(Project proj, string ProjectId) { ObjectId projectId; var isValid = ObjectId.TryParse(ProjectId, out projectId); if (isValid) { var collections = mongoDatabase.GetCollection<Project>("Project"); var getQuery = Query<Project>.EQ(e => e.ProjectId, projectId); var existingproject = collections.FindOne(getQuery); existingproject.Name = proj.Name; existingproject.StartDate = proj.StartDate; existingproject.EndDate = proj.EndDate; existingproject.Manager = proj.Manager; existingproject.Description = proj.Description; existingproject.Client = proj.Client; //existingproject.TotalEmployees = proj.TotalEmployees; existingproject.IsComplete = proj.IsComplete; existingproject.IsActive = proj.IsActive; existingproject.Url = proj.Url; // existingproject.AssignedTo = project.AssignedTo; collections.Save(existingproject); return GetAll(); } else { return PartialView("Edit"); } }
public JsonResult GetPieCharts(string pId) { int cntTask = 0; var _task = mongoDatabase.GetCollection<Task>("Task"); var _devBase = mongoDatabase.GetCollection<DevBase>("DevBase"); var _projects = mongoDatabase.GetCollection<Project>("Project"); ObjectId projectId; var isValid = ObjectId.TryParse(pId, out projectId); Project proj = new Project(); if (isValid) { var getQuery = Query<Project>.EQ(e => e.ProjectId, projectId); proj = _projects.FindOne(getQuery); } IList<seriesData> lstseriesData = new List<seriesData>(); var getTasks = _task.FindAs(typeof(Task), Query.Matches("ProjectId", new BsonRegularExpression(pId, "i"))); foreach (Task tsk in getTasks) { int ntaCnt = 0; var getDBase = _devBase.FindAs(typeof(DevBase), Query.Matches("TaskId", new BsonRegularExpression(tsk.TaskId.ToString(), "i"))); foreach (DevBase dbase in getDBase) { if (dbase.Status.Equals("Not Started")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (dbase.Status.Equals("In-Process")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (dbase.Status.Equals("Complete")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (dbase.Status.Equals("Waiting Approval")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (dbase.Status.Equals("On Hold")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (dbase.Status.Equals("Cancelled")) { foreach (seriesData mtv in lstseriesData) { if (mtv.name == dbase.Status) { int cntl = lstseriesData.IndexOf(mtv); lstseriesData[cntl].y = ++(lstseriesData[cntl].y); ntaCnt++; } } } if (ntaCnt <= 0) { seriesData mtv = new seriesData(); lstseriesData.Add(mtv); lstseriesData[cntTask].name = dbase.Status; lstseriesData[cntTask++].y = ++ntaCnt; } } } return Json(lstseriesData.ToList(), JsonRequestBehavior.AllowGet); }
public PartialViewResult Create(Project proj) { if (ModelState.IsValid) { var collections = mongoDatabase.GetCollection<Project>("Project"); collections.Insert(proj); var id = proj.ProjectId; return GetAll(); } else { return PartialView(proj); } }
public JsonResult CalcWorkDays(string pId) { int cntTask = 0; //int cntPayTask = 0; //int cntSubTask = 0; var _task = mongoDatabase.GetCollection<Task>("Task"); var _devBase = mongoDatabase.GetCollection<DevBase>("DevBase"); var _projects = mongoDatabase.GetCollection<Project>("Project"); var _employee = mongoDatabase.GetCollection<Employee>("Employee"); ObjectId projectId; var isValid = ObjectId.TryParse(pId, out projectId); Project proj = new Project(); if (isValid) { var getQuery = Query<Project>.EQ(e => e.ProjectId, projectId); proj = _projects.FindOne(getQuery); } //var getProjects = _projects.FindAs(typeof(Project), Query.NE("Name", "null")); //var getEmployees = _employee.FindAs(typeof(Employee), Query.NE("FirstName", "null")); IList<Hours> lstEmpHours = new List<Hours>(); var getTasks = _task.FindAs(typeof(Task), Query.Matches("ProjectId", new BsonRegularExpression(proj.ProjectId.ToString(), "i"))); foreach (Task tsk in getTasks) { lstEmpHours.Add(new Hours() { Task = tsk.Name }); foreach (Employee emp in tsk.AssignedTo) { lstEmpHours[cntTask].Employee = emp.Fullname; if (tsk.EndDate != "" && tsk.EndDate != null && Convert.ToDateTime(tsk.EndDate) < DateTime.Now) { lstEmpHours[cntTask].Days = Convert.ToDateTime(tsk.EndDate).Subtract(Convert.ToDateTime(tsk.StartDate)).Days; } else { lstEmpHours[cntTask].Days = DateTime.Now.Subtract(Convert.ToDateTime(tsk.StartDate)).Days; } } cntTask++; } return Json(lstEmpHours.ToList(), JsonRequestBehavior.AllowGet); }