Example #1
0
 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));
        }
Example #6
0
        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));
        }
Example #7
0
        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));
        }
Example #9
0
 public ActionResult Index()
 {
     try
     {
         var model = new ProjectsVm();
         return(View(model));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
Example #10
0
        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));
        }
Example #11
0
        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));
            }
        }
Example #12
0
 public RecentIssuesPaneVm(JirnalCore jirnalCore, string header) : base(jirnalCore, header)
 {
     Projects = new ProjectsVm(jirnalCore_);
 }
Example #13
0
        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"));
        }