Пример #1
0
        public ActionResult EditProject(string name)
        {
            if (string.IsNullOrWhiteSpace(name))
                return View("Error", new ErrorInfo("Project", "EditProject", "The project name is null, empty or contains only whitespace which is not allowed."));

            Project project;

            using (var db = new BuildVersioningDataContext())
            {
                project = db.Projects
                    .SingleOrDefault(p =>
                        string.Compare(p.Name, name, StringComparison.OrdinalIgnoreCase) == 0
                        );
            }

            if (null == project)
                return View("Error");

            var model =
                new EditProjectModel
                {
                    BuildNumber = project.BuildNumber,
                    Description = project.Description,
                    Id = project.Id,
                    Name = project.Name
                };
            return View(model);
        }
Пример #2
0
        public ActionResult EditProject(string name, EditProjectModel editProject)
        {
            if (null == editProject)
                return View("Error", new ErrorInfo("Project", "EditProject", "The editProject model is null which is not allowed."));

            var id = editProject.Id;
            if (id < 1)
                return View("Error", new ErrorInfo("Project", "EditProject", "The project id is not valid."));

            var newName = editProject.Name;
            if (string.IsNullOrWhiteSpace(newName))
                return View("Error", new ErrorInfo("Project", "EditProject", "The new project name is null, empty or contains only whitespace which is not allowed."));

            var desc = editProject.Description;
            if (string.IsNullOrWhiteSpace(desc))
                desc = null;

            var buildNumber = editProject.BuildNumber;
            if (buildNumber < 0)
                buildNumber = 0;

            using (var db = new BuildVersioningDataContext())
            {
                if (name != newName && db.Projects.Any(p => string.Compare(p.Name, newName, StringComparison.OrdinalIgnoreCase) == 0))
                    return View("Error", new ErrorInfo("Project", "EditProject", "A project with the specified new name already exists."));

                var project = db.Projects.SingleOrDefault(p => p.Id == id);
                if (null == project)
                    return View("Error", new ErrorInfo("Project", "EditProject", "The specified project id of the project to be edited does not exist."));

                project.Name = newName;
                project.Description = desc;

                if (project.BuildNumber != buildNumber)
                {
                    project.BuildNumber = buildNumber;
                    project.DateBuildNumberUpdated = DateTime.Now;
                }

                db.SaveChanges();
            }

            return RedirectToRoute("ViewProject", new { name });
        }