public Task <int> AddAsync(ProjectDto dto) { TProject model = dto.MapTo <TProject>(); model.Id = IdentityHelper.Guid32; model.CreateTime = Clock.Now; if (model.Secret.IsNullOrEmpty()) { model.Secret = IdentityHelper.Guid16; } return(_repository.InsertAsync(model)); }
private TProject GenerateProject <TProject>() where TProject : Project { // Get the existing project from the solution TProject project = this.CurrentSolution.Projects.OfType <TProject>().FirstOrDefault(); // If the project does not exist yet, add a new project to the solution if (project == null) { project = Activator.CreateInstance(typeof(TProject), new Object[] { this.CurrentSolution }) as TProject; } return(project); }
public TProjectDto UpdateProject(TContextDto context, TProjectDto project) { try { if (project.TProjectID > 0) { var existingProject = _db.TProjects.SingleOrDefault(e => e.TProjectID == project.TProjectID); if (existingProject != null) { if (existingProject.TUserID == context.TUserID) { // if there are no tasks, remove it instead if (project.IsObsolete && !_db.TTasks.Any(e => e.TProjectID == project.TProjectID)) { _db.TProjects.Remove(existingProject); } else { if (!string.IsNullOrWhiteSpace(project.Name)) { existingProject.Name = project.Name; } existingProject.IsObsolete = project.IsObsolete; existingProject.DisplayOrder = project.DisplayOrder; } _db.SaveChanges(); } return(Mapper.Map <TProjectDto>(existingProject)); } } else if (!project.IsObsolete && !string.IsNullOrWhiteSpace(project.Name)) { var newProject = new TProject { DisplayOrder = project.DisplayOrder, IsObsolete = project.IsObsolete, Name = project.Name, TUserID = context.TUserID }; _db.TProjects.Add(newProject); _db.SaveChanges(); return(Mapper.Map <TProjectDto>(newProject)); } return(null); } catch (Exception ex) { throw new WebFaultException <string>(ex.Message, HttpStatusCode.BadRequest); } }
private void ConvertToTProject(TProjectViewModel vm, TProject entity) { entity.ProjectName = vm.ProjectName; entity.ProjectDate = vm.ProjectDate; entity.ProjectPrice = vm.ProjectPrice; entity.ProjectRetention = vm.ProjectRetention; entity.ProjectLocation = vm.ProjectLocation; entity.ProjectStartDate = vm.ProjectStartDate; entity.ProjectEndDate = vm.ProjectEndDate; entity.ProjectFinishDate = vm.ProjectFinishDate; //entity.ProjectStatus = vm.ProjectStatus; //entity.ProjectDesc = vm.ProjectDesc; entity.CustomerId = string.IsNullOrEmpty(vm.CustomerId) ? null : _custTasks.One(vm.CustomerId); entity.ProjectSpkNo = vm.ProjectSpkNo; entity.ProjectInvoiceFormat = vm.ProjectInvoiceFormat; }
public int CreateUser(string userName) { try { // use database seeded projects for guest var guestEmail = ConfigurationManager.AppSettings["GuestEmail"]; if (!string.IsNullOrWhiteSpace(guestEmail) && userName.Equals(guestEmail, StringComparison.InvariantCultureIgnoreCase)) { var firstUser = _db.TUsers.OrderBy(u => u.TUserID).FirstOrDefault(); if (firstUser != null) { return(firstUser.TUserID); } } var newUser = new TUser { Name = userName, LastTaskID = 0, CurrentState = TState.Idle }; _db.TUsers.Add(newUser); _db.SaveChanges(); var newProject = new TProject { DisplayOrder = 1, IsObsolete = false, Name = "Sample Project", TUserID = newUser.TUserID }; _db.TProjects.Add(newProject); _db.SaveChanges(); var newTask = new TTask { DisplayOrder = 1, IsObsolete = false, Name = "Sample Task", TProjectID = newProject.TProjectID }; _db.TTasks.Add(newTask); _db.SaveChanges(); return(newUser.TUserID); } catch (Exception ex) { throw new WebFaultException <string>(ex.Message, HttpStatusCode.BadRequest); } }
public ActionResult TProjects_Create([DataSourceRequest] DataSourceRequest request, TProjectViewModel vm) { if (vm != null && ModelState.IsValid) { TProject entity = new TProject(); entity.SetAssignedIdTo(Guid.NewGuid().ToString()); ConvertToTProject(vm, entity); entity.CreatedDate = DateTime.Now; entity.CreatedBy = User.Identity.Name; entity.DataStatus = EnumDataStatus.New.ToString(); _tasks.Insert(entity); } return(Json(new[] { vm }.ToDataSourceResult(request, ModelState))); }
public void Update(TProject tProject) { _projectRepository.Update(tProject); }
public void Add(TProject model) { _projectRepository.Insert(model); }