public ActionResult Create(WorkItemsVm model)
        {
            if (model is null)
            {
                return(RedirectToAction("Create"));
            }
            if (String.IsNullOrWhiteSpace(model.Name) ||
                model.Project_Id == null || model.Project_Id == 0 ||
                model.Employee_Id == null || model.Employee_Id == 0 ||
                model.DateCreated == DateTime.MinValue ||
                (model.DateCreated == DateTime.MinValue && model.DateDue == DateTime.MinValue) ||
                model.DateCreated == DateTime.MinValue || model.DateDue == DateTime.MinValue ||
                DateTime.Compare(model.DateCreated, model.DateDue) > 0)
            {
                TempData["error"] = "You did not enter information correctly. Check the information and try again.";
                return(RedirectToAction("Create"));
            }

            if (model.DateStarted != null && model.DateFinished != null)
            {
                if (model.DateStarted.Value != DateTime.MinValue && model.DateFinished.Value != DateTime.MinValue)
                {
                    if (DateTime.Compare(model.DateStarted.Value, model.DateFinished.Value) > 0)
                    {
                        TempData["error"] = "You did not enter dates correctly. Check the dates and try again.";
                        return(RedirectToAction("Create"));
                    }
                }
            }
            WorkItemsModel workItem = new WorkItemsModel()
            {
                Name         = model.Name,
                Description  = model.Description,
                Project_Id   = model.Project_Id,
                Employee_Id  = model.Employee_Id,
                DateCreated  = model.DateCreated,
                DateStarted  = model.DateStarted,
                DateFinished = model.DateFinished,
                DateDue      = model.DateDue
            };

            try
            {
                if (!_workItemService.Create(workItem))
                {
                    TempData["error"] = $"Problems with create work item (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 bool Create(WorkItemsModel workItem)
        {
            if (workItem == null)
            {
                return(false);
            }

            try
            {
                using (SqlConnection connection = new SqlConnection(ConnectionString))
                {
                    string dataStart    = workItem.DateStarted == null ? null : String.Format("{0}/{1}/{2}", workItem.DateStarted.Value.Year, workItem.DateStarted.Value.Month, workItem.DateStarted.Value.Day);
                    string dataFinished = workItem.DateFinished == null ? null : String.Format("{0}/{1}/{2}", workItem.DateFinished.Value.Year, workItem.DateFinished.Value.Month, workItem.DateFinished.Value.Day);
                    string dataCreated  = String.Format("{0}/{1}/{2}", workItem.DateCreated.Year, workItem.DateCreated.Month, workItem.DateCreated.Day);
                    string dataDue      = String.Format("{0}/{1}/{2}", workItem.DateDue.Year, workItem.DateDue.Month, workItem.DateDue.Day);

                    string queryString = $"INSERT INTO {WorkItemsTable} (Name, Description, Project_Id, Employee_Id, DateCreated, DateDue, DateStarted, DateFinished) " +
                                         $"VALUES (" +
                                         $"'{workItem.Name}'," +
                                         $"'{workItem.Description}', " +
                                         $"{workItem.Project_Id}, " +
                                         $"{workItem.Employee_Id}, " +
                                         $"'{workItem.DateCreated}', " +
                                         $"'{workItem.DateDue}', ";

                    if (string.IsNullOrEmpty(dataStart))
                    {
                        queryString += "NULL, ";
                    }
                    else
                    {
                        queryString += $"{dataStart}, ";
                    }
                    if (string.IsNullOrEmpty(dataFinished))
                    {
                        queryString += "NULL) ";
                    }
                    else
                    {
                        queryString += $"{dataFinished}) ";
                    }
                    connection.Open();
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Prepare();
                    int number = command.ExecuteNonQuery();
                    return(number > 0 ? true : false);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public bool Update(WorkItemsModel workItem)
        {
            if (workItem is null)
            {
                return(false);
            }
            try
            {
                string dataStart    = workItem.DateStarted == null ?  null : String.Format("{0}/{1}/{2}", workItem.DateStarted.Value.Year, workItem.DateStarted.Value.Month, workItem.DateStarted.Value.Day);
                string dataFinished = workItem.DateFinished == null ? null : String.Format("{0}/{1}/{2}", workItem.DateFinished.Value.Year, workItem.DateFinished.Value.Month, workItem.DateFinished.Value.Day);

                using (SqlConnection connection = new SqlConnection(ConnectionString))
                {
                    string queryString = $"UPDATE {WorkItemsTable} " +
                                         $"SET " +
                                         $"Name = '{workItem.Name}', " +
                                         $"Description = '{workItem.Description}', " +
                                         $"Project_Id = {workItem.Project_Id}, " +
                                         $"Employee_Id = {workItem.Employee_Id}, " +
                                         $"DateCreated = CAST('{workItem.DateCreated}' as DATETIME), " +
                                         $"DateDue = CAST('{workItem.DateDue}' as DATETIME), ";
                    if (string.IsNullOrEmpty(dataStart))
                    {
                        queryString += "DateStarted = NULL ,";
                    }
                    else
                    {
                        queryString += $"DateStarted = CAST('{dataStart}' as DATETIME), ";
                    }
                    if (string.IsNullOrEmpty(dataFinished))
                    {
                        queryString += $"DateFinished = NULL ";
                    }
                    else
                    {
                        queryString += $"DateFinished = CAST('{dataFinished}' as DATETIME) ";
                    }

                    queryString += $"WHERE {WorkItemsTable}.Id = {workItem.Id}";
                    connection.Open();
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Prepare();
                    int number = command.ExecuteNonQuery();
                    return(number > 0 ? true : false);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public List <WorkItemsModel> GetAllWorkItems()
        {
            List <WorkItemsModel> workItems = new List <WorkItemsModel>();

            try
            {
                using (SqlConnection connection = new SqlConnection(ConnectionString))
                {
                    string queryString = $"SELECT * FROM {WorkItemsTable};";
                    connection.Open();
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Prepare();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        try
                        {
                            WorkItemsModel workItem = new WorkItemsModel();



                            workItem.Id           = int.Parse(reader["Id"].ToString());
                            workItem.Name         = reader["Name"].ToString();
                            workItem.Description  = reader["Description"].ToString();
                            workItem.Project_Id   = int.Parse(reader["Project_Id"].ToString());
                            workItem.Employee_Id  = int.Parse(reader["Employee_Id"].ToString());
                            workItem.DateCreated  = DateTime.Parse(reader["DateCreated"].ToString());
                            workItem.DateDue      = DateTime.Parse(reader["DateDue"].ToString());
                            workItem.DateStarted  = String.IsNullOrEmpty(reader["DateStarted"].ToString()) ? (DateTime?)null : DateTime.Parse(reader["DateStarted"].ToString());
                            workItem.DateFinished = String.IsNullOrEmpty(reader["DateFinished"].ToString()) ? (DateTime?)null : DateTime.Parse(reader["DateFinished"].ToString());


                            workItems.Add(workItem);
                        }
                        catch (Exception)
                        {
                            return(new List <WorkItemsModel>());
                        }
                    }
                }
            }
            catch (Exception)
            {
                return(new List <WorkItemsModel>());
            }
            return(workItems);
        }
示例#5
0
        private void OnWorkItemsButtonCommand(object param)
        {
            //IUnityContainer container = new UnityContainer();
            //container.RegisterType<IWorkItemsModel, WorkItemsModel>();
            //container.RegisterType<IWorkItemsViewModel, WorkItemsViewModel>();

            //var workItemsView = container.Resolve<WorkItemsView>();
            //workItemsView.Show();
            var workItemsModel     = new WorkItemsModel();
            var workItemsViewModel = new WorkItemsViewModel(workItemsModel);
            var workItemsView      = new WorkItemsView
            {
                DataContext = workItemsViewModel
            };

            workItemsView.Show();
        }
示例#6
0
        private void mapDataToWorkItem(List <WorkItemsModel> listWorkItemsState, int id, JObject workItems, List <WorkItemsModel> workItemStateList)
        {
            List <WorkItemsModel> newWorkItemModel = new List <WorkItemsModel>();

            foreach (var item in workItems["value"])
            {
                var projectModel = new WorkItemsModel()
                {
                    Id   = id,
                    Name = item["name"].ToString()
                };

                if (listWorkItemsState.Where(x => x.Id == id && x.Name == projectModel.Name).Count() == 0 && workItemStateList.Where(x => x.Name == projectModel.Name && x.Id == id).Count() == 0)
                {
                    listWorkItemsState.Add(projectModel);
                }
            }
        }
        public ActionResult Edit(int workItem_id)
        {
            string errorMsg = String.Empty;

            if (TempData.ContainsKey("error"))
            {
                errorMsg = TempData["error"].ToString();
            }
            WorkItemsModel        workItem     = new WorkItemsModel();
            List <SelectListItem> projectsList = new List <SelectListItem>();
            List <SelectListItem> employeeList = new List <SelectListItem>();

            try
            {
                projectsList = Utils.Helper.GetProjectsList();
                employeeList = Utils.Helper.GetEmployeeList();
                workItem     = _workItemService.GetWorkItem(workItem_id);
            }
            catch (Exception e)
            {
                TempData["error"] = $"Problems with getting information from database (services). {e.Message}";
                return(RedirectToAction("Index", "Home"));
            }


            WorkItemsVm model = new WorkItemsVm()
            {
                Id           = workItem.Id,
                Name         = workItem.Name,
                Description  = workItem.Description,
                Project_Id   = workItem.Project_Id,
                Employee_Id  = workItem.Employee_Id,
                DateCreated  = workItem.DateCreated,
                DateStarted  = workItem.DateStarted,
                DateFinished = workItem.DateFinished,
                DateDue      = workItem.DateDue,
                ProjectsList = projectsList,
                EmployeeList = employeeList,
                ErrorMsg     = errorMsg
            };

            return(View("Edit", model));
        }