public IActionResult Edit(ProjectsVm ProjectsVm) { if (ProjectsVm.Projects == null) { throw new ArgumentException(); } logger.LogDebug($"Project.Edit [post] is called"); try { if (ProjectsVm.Projects == null) { throw new NullReferenceException(); } if (ModelState.IsValid) { ProjectDto projectDto = ConvertToProjectDto.Convert(ProjectsVm.Projects); ProjectService.Update(projectDto); } else { return(View(ProjectsVm)); } } catch (Exception ex) { logger.LogError(ex.Message); return(View("Error")); } return(RedirectToAction(nameof(Index))); }
public ActionResult Create() { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } List <SelectListItem> employeeList = new List <SelectListItem>(); try { employeeList = Utils.Helper.GetEmployeeList(); } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } ProjectsVm model = new ProjectsVm() { EmployeeList = employeeList, ErrorMsg = errorMsg }; return(View("Create", model)); }
public ActionResult Create(ProjectsVm model) { if (model is null || String.IsNullOrWhiteSpace(model.Name) || model.ProjectManager_Id == 0 || model.ProjectManager_Id == null || model.DateStart == DateTime.MinValue || model.DateDue == DateTime.MinValue || DateTime.Compare(model.DateStart, model.DateDue) > 0) { TempData["error"] = "You did not enter dates correctly or you did not fill in some fields. All fields are required.. Check the dates and try again."; return(RedirectToAction("Create")); } ProjectsModel project = new ProjectsModel() { Name = model.Name, ProjectManager_Id = model.ProjectManager_Id, DateStart = model.DateStart.Date, DateDue = model.DateDue.Date }; try { if (!_projectService.Create(project)) { TempData["error"] = $"Problems with create project (Service error \"Create\")."; return(RedirectToAction("Create")); } } catch (Exception e) { TempData["error"] = $"Problems with saving information to database (services). {e.Message}"; return(RedirectToAction("Create")); } return(RedirectToAction("Index")); }
public ActionResult SaveEdititngProject(ProjectsVm model) { if (model is null || String.IsNullOrWhiteSpace(model.Name) || model.ProjectManager_Id == 0 || model.ProjectManager_Id == null || model.DateStart == DateTime.MinValue || model.DateDue == DateTime.MinValue || DateTime.Compare(model.DateStart, model.DateDue) > 0) { TempData["error"] = "You did not enter dates correctly or you did not fill in some fields. All fields are required.. Check the dates and try again."; return(RedirectToAction("Edit", new { project_id = model.Id })); } ProjectsModel project = new ProjectsModel() { Id = model.Id, Name = model.Name, ProjectManager_Id = model.ProjectManager_Id, DateStart = model.DateStart, DateDue = model.DateDue }; try { if (!_projectService.Update(project)) { TempData["error"] = $"Problems with updating project info (Service error \"Update/Edit\")."; return(RedirectToAction("Edit", new { project_id = model.Id })); } } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Edit", model)); } return(RedirectToAction("Index")); }
public ActionResult Edit(int project_id) { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } ProjectsModel project = new ProjectsModel(); List <SelectListItem> employeeList = new List <SelectListItem>(); try { employeeList = Utils.Helper.GetEmployeeList(); project = _projectService.GetProject(project_id); } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } ProjectsVm model = new ProjectsVm(); model.Id = project.Id; model.Name = project.Name; model.ProjectManager_Id = project.ProjectManager_Id; model.DateStart = project.DateStart; model.DateDue = project.DateDue; model.EmployeeList = employeeList; model.ErrorMsg = errorMsg; return(View("Edit", model)); }
public IActionResult Edit(int id) { logger.LogDebug($"Project.Edit [get] is called"); ProjectVm ProjectVm = ConvertToProjectVm.Convert(ProjectService.Get(id)); IList <ProjectTaskVm> ProjectTasksVm = ConvertToProjectTaskVm.Convert(ProjectTaskService.GetAllByProjectId(ProjectVm.Id)); ProjectsVm model = ComposeProjectVm(ProjectVm, ProjectTasksVm); return(View("CreateOrEdit", model)); }
private ProjectsVm ComposeProjectVm(ProjectVm projectsVm, IList <ProjectTaskVm> projectTasksVm) { ProjectsVm ProjectAndTask = new ProjectsVm() { Projects = projectsVm, ProjectTasks = projectTasksVm }; return(ProjectAndTask); }
// GET: Teams public ActionResult Index() { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } List <ProjectsModel> projects = new List <ProjectsModel>(); List <WorkItemsModel> workItems = new List <WorkItemsModel>(); List <EmployeesModel> employees = new List <EmployeesModel>(); Dictionary <int, int> workItemsOnProject = new Dictionary <int, int>(); try { projects = _projectService.GetAllProjects(); workItems = _workItemsService.GetAllWorkItems(); employees = _employeeService.GetAllEmployees(); foreach (var workItem in workItems) { foreach (var project in projects) { if (project.Id == workItem.Project_Id) { if (workItemsOnProject.ContainsKey(project.Id)) { workItemsOnProject[project.Id] += 1; } else { workItemsOnProject.Add(project.Id, 1); } } } } } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } ProjectsVm model = new ProjectsVm() { ProjectList = projects, WorkItemsOnProject = workItemsOnProject, Employees = employees, ErrorMsg = errorMsg }; return(View("Index", model)); }
public ActionResult Index() { try { var model = new ProjectsVm(); return(View(model)); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <ActionResult> Create(long id = 0) { var projectsVm = new ProjectsVm(); var roleMasterId = Convert.ToInt64(CookieHelper.GetCookie(CookieName.RoleMasterId)); //Check that if we found id 0 and role not owener or PM if (id > 0 || roleMasterId == (int)EnumList.Roles.Owner || roleMasterId == (int)EnumList.Roles.Project_Manager) { var project = await _entities.Projects.Where(s => s.ProjectId == id && !s.IsDelete) .FirstOrDefaultAsync(); if (project != null) { projectsVm.CopyProperties(project); projectsVm.StartDateString = project.StartDate.ToString("dd/MM/yyyy"); if (project.EndDate != null) { projectsVm.EndDateString = project.EndDate.Value.ToString("dd/MM/yyyy"); } //Assign assigny list if (project.ProjectAssignies.Any()) { projectsVm.AssignyList = new string[project.ProjectAssignies.Count]; var i = 0; foreach (var item in project.ProjectAssignies) { projectsVm.AssignyList[i] = item.AssignyId.ToString(); i++; } } } } return(View(projectsVm)); }
public async Task <ActionResult> Index(ProjectsVm data) { try { using (_entities = new DBEntities()) { if (data.ProjectId > 0) { var project = await _entities.Projects.FindAsync(data.ProjectId); if (project != null) { //Update Code HERE project.BasicDescription = data.BasicDescription; project.Budget = data.Budget; project.ClientName = data.ClientName; project.ConfidentialDescription = data.ConfidentialDescription; project.EstimateHours = data.EstimateHours; project.LiveURL = data.LiveURL; project.Name = data.Name; project.ClientName = data.ClientName; project.TagLine = data.TagLine; project.TeamMemberCount = data.TeamMemberCount; project.UpdatedBy = _userId; project.UpdatedDate = DateTime.Now; project.StartDate = DateTime.ParseExact(data.StartDateString, data.StartDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); if (!string.IsNullOrWhiteSpace(data.EndDateString)) { project.EndDate = DateTime.ParseExact(data.EndDateString, data.EndDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); } _entities.Entry(project).State = EntityState.Modified; await _entities.SaveChangesAsync(); //Delete Existing Assign and Add new Assign and Save Assign list HERE if (data.AssignyList.Any()) { var projectAssigns = await _entities.ProjectAssignies.Where(s => s.ProjectId == data.ProjectId).ToListAsync(); if (projectAssigns.Any()) { _entities.ProjectAssignies.RemoveRange(projectAssigns); await _entities.SaveChangesAsync(); } projectAssigns = data.AssignyList.Select(item => new ProjectAssigny { ProjectId = project.ProjectId, AssignyId = item, CreatedBy = _userId, CreatedDate = DateTime.Now, WhoAssign = _userId }).ToList(); _entities.ProjectAssignies.AddRange(projectAssigns); await _entities.SaveChangesAsync(); } //Delete existing attachment and Save new attachment if (data.AttachedFiles != null && data.AttachedFiles.Any()) { var projectAttachments = await _entities.ProjectAttachments.Where(s => s.ProjectId == data.ProjectId).ToListAsync(); if (projectAttachments.Any()) { _entities.ProjectAttachments.RemoveRange(projectAttachments); await _entities.SaveChangesAsync(); } projectAttachments = (from item in data.AttachedFiles where item != null select new ProjectAttachment { ProjectId = project.ProjectId, CreatedBy = _userId, CreatedDate = DateTime.Now, DisplayName = item.FileName, FileName = Utilities.SaveFile(item, Server.MapPath("~" + StaticValues.ProjectAttachmentPath + project.ProjectId + "/"), Guid.NewGuid().ToString()), FileSize = item.ContentLength / 1024 }).ToList(); if (projectAttachments.Any()) { _entities.ProjectAttachments.AddRange(projectAttachments); } } StaticValues.NotifySuccess = SuccessMessage.Updated; } else { StaticValues.NotifyError = ErrorMessage.SomethingWentWrong; } } else { //Save data in project table var project = new Project(); project.CopyProperties(data); project.ProjectStatusMasterId = data.ProjectStatusMasterId; project.IsActive = true; project.IsDelete = false; project.CreatedBy = _userId; project.CreatedDate = DateTime.Now; project.StartDate = DateTime.ParseExact(data.StartDateString, data.StartDateString.Contains('-') ? "MM-dd-yyyy" : "MM/dd/yyyy", CultureInfo.InvariantCulture); if (!string.IsNullOrWhiteSpace(data.EndDateString)) { project.EndDate = DateTime.ParseExact(data.EndDateString, data.EndDateString.Contains('-') ? "MM-dd-yyyy" : "MM/dd/yyyy", CultureInfo.InvariantCulture); } _entities.Projects.Add(project); await _entities.SaveChangesAsync(); // Save assign list HERE if (data.AssignyList.Any()) { var projectAssigns = data.AssignyList.Select(item => new ProjectAssigny { ProjectId = project.ProjectId, AssignyId = item, CreatedBy = _userId, CreatedDate = DateTime.Now, WhoAssign = _userId }).ToList(); _entities.ProjectAssignies.AddRange(projectAssigns); await _entities.SaveChangesAsync(); } //Save attachment if (data.AttachedFiles != null && data.AttachedFiles.Any()) { var projectAttachments = (from item in data.AttachedFiles where item != null select new ProjectAttachment { ProjectId = project.ProjectId, CreatedBy = _userId, CreatedDate = DateTime.Now, DisplayName = item.FileName, FileName = Utilities.SaveFile(item, Server.MapPath("~" + StaticValues.ProjectAttachmentPath + project.ProjectId + "/"), Guid.NewGuid().ToString()), FileSize = item.ContentLength / 1024 }).ToList(); if (projectAttachments.Any()) { _entities.ProjectAttachments.AddRange(projectAttachments); } } await _entities.SaveChangesAsync(); StaticValues.NotifySuccess = SuccessMessage.Created; } return(RedirectToAction("List")); } } catch (Exception e) { StaticValues.NotifyError = e.Message; return(View(data)); } }
public RecentIssuesPaneVm(JirnalCore jirnalCore, string header) : base(jirnalCore, header) { Projects = new ProjectsVm(jirnalCore_); }
public async Task <ActionResult> Create(ProjectsVm data) { using (_entities = new DBEntities()) { var userMasterId = Convert.ToInt64(CookieHelper.GetCookie(CookieName.UserMasterId)); if (data.ProjectId > 0) { //Update Code HERE var project = new Project(); project = await _entities.Projects.FindAsync(data.ProjectId); if (project != null) { project.BasicDescription = data.BasicDescription; project.Budget = data.Budget; project.ClientName = data.ClientName; project.ConfidentialDescription = data.ConfidentialDescription; project.EstimateHours = data.EstimateHours; project.LiveURL = data.LiveURL; project.Name = data.Name; project.ClientName = data.ClientName; project.TagLine = data.TagLine; project.TeamMemberCount = data.TeamMemberCount; project.UpdatedBy = userMasterId; project.UpdatedDate = DateTime.Now; project.StartDate = DateTime.ParseExact(data.StartDateString, data.StartDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); if (!string.IsNullOrWhiteSpace(data.EndDateString)) { project.EndDate = DateTime.ParseExact(data.EndDateString, data.EndDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); } _entities.Entry(project).State = EntityState.Modified; await _entities.SaveChangesAsync(); //Delete Existing Assigny and Add new Assigny and Save assigny list HERE if (data.AssignyList.Any()) { var projectAssignys = await _entities.ProjectAssignies .Where(s => s.ProjectId == data.ProjectId).ToListAsync(); if (projectAssignys.Any()) { _entities.ProjectAssignies.RemoveRange(projectAssignys); await _entities.SaveChangesAsync(); } projectAssignys = new List <ProjectAssigny>(); projectAssignys = data.AssignyList.Select(item => new ProjectAssigny { ProjectId = project.ProjectId, AssignyId = Convert.ToInt64(item), CreatedBy = userMasterId, CreatedDate = DateTime.Now, WhoAssign = userMasterId }).ToList(); _entities.ProjectAssignies.AddRange(projectAssignys); await _entities.SaveChangesAsync(); } //Delete existing attachment and Save new attachment if (data.AttachedFiles != null && data.AttachedFiles.Any()) { var projectAttachments = await _entities.ProjectAttachments .Where(s => s.ProjectId == data.ProjectId).ToListAsync(); if (projectAttachments.Any()) { _entities.ProjectAttachments.RemoveRange(projectAttachments); await _entities.SaveChangesAsync(); } projectAttachments = (from item in data.AttachedFiles where item != null select new ProjectAttachment { ProjectId = project.ProjectId, CreatedBy = userMasterId, CreatedDate = DateTime.Now, DisplayName = item.FileName, FileName = Utilities.SaveFile(item, Server.MapPath("~" + BasicProperty.ProjectAttachmentPath + project.ProjectId + "/"), Guid.NewGuid().ToString()), FileSize = item.ContentLength / 1024 }).ToList(); if (projectAttachments.Any()) { _entities.ProjectAttachments.AddRange(projectAttachments); } } TempData["Success"] = "Project updated successfully"; } else { TempData["Error"] = "Request failed! Please try after some time."; } } else { //Save data in project table var project = new Project(); project.CopyProperties(data); project.ProjectStatusMasterId = data.ProjectStatusMasterId; project.IsActive = true; project.IsDelete = false; project.CreatedBy = userMasterId; project.CreatedDate = DateTime.Now; project.StartDate = DateTime.ParseExact(data.StartDateString, data.StartDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); if (!string.IsNullOrWhiteSpace(data.EndDateString)) { project.EndDate = DateTime.ParseExact(data.EndDateString, data.EndDateString.Contains('-') ? "dd-MM-yyyy" : "dd/MM/yyyy", CultureInfo.InvariantCulture); } _entities.Projects.Add(project); await _entities.SaveChangesAsync(); // Save assigny list HERE if (data.AssignyList.Any()) { var projectAssignys = data.AssignyList.Select(item => new ProjectAssigny { ProjectId = project.ProjectId, AssignyId = Convert.ToInt64(item), CreatedBy = userMasterId, CreatedDate = DateTime.Now, WhoAssign = userMasterId }).ToList(); _entities.ProjectAssignies.AddRange(projectAssignys); await _entities.SaveChangesAsync(); } //Save attachment if (data.AttachedFiles != null && data.AttachedFiles.Any()) { var projectAttachments = (from item in data.AttachedFiles where item != null select new ProjectAttachment { ProjectId = project.ProjectId, CreatedBy = userMasterId, CreatedDate = DateTime.Now, DisplayName = item.FileName, FileName = Utilities.SaveFile(item, Server.MapPath("~" + BasicProperty.ProjectAttachmentPath + project.ProjectId + "/"), Guid.NewGuid().ToString()), FileSize = item.ContentLength / 1024 }).ToList(); if (projectAttachments.Any()) { _entities.ProjectAttachments.AddRange(projectAttachments); } } //Save call await _entities.SaveChangesAsync(); TempData["Success"] = "Projece added successfully"; } } return(RedirectToAction("List")); }