public IHttpActionResult PutProgressHistory(int id, ProgressHistory progressHistory) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != progressHistory.ProgressHistoryID) { return(BadRequest()); } db.Entry(progressHistory).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ProgressHistoryExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetProgressHistory(int id) { ProgressHistory progressHistory = db.ProgressHistories.Find(id); if (progressHistory == null) { return(NotFound()); } return(Ok(progressHistory)); }
public IHttpActionResult PostProgressHistory(ProgressHistory progressHistory) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ProgressHistories.Add(progressHistory); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = progressHistory.ProgressHistoryID }, progressHistory)); }
public IHttpActionResult DeleteProgressHistory(int id) { ProgressHistory progressHistory = db.ProgressHistories.Find(id); if (progressHistory == null) { return(NotFound()); } db.ProgressHistories.Remove(progressHistory); db.SaveChanges(); return(Ok(progressHistory)); }
public IHttpActionResult PostMainTask(MainTaskUsers mainTaskUsers) { var mainTask = mainTaskUsers.mainTask; var users = mainTaskUsers.users; var userId = RequestContext.Principal.Identity.GetUserId(); mainTask.IsDeleted = false; mainTask.AssignedByID = userId; mainTask.DateAssigned = DateTime.Now; mainTask.Status = db.Status.Where(s => s.Level == 0).FirstOrDefault(); mainTask.Progress = 0; ModelState.Remove("mainTaskUsers.mainTask.AssignedByID"); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } foreach (var usr_id in users) { var usr = db.Users.Find(usr_id); mainTask.AssignedTo.Add(usr); } db.MainTask.Add(mainTask); db.SaveChanges(); //Add default progress histry and comment var progressHistory = new ProgressHistory() { MainTaskID = mainTask.MainTaskID }; db.ProgressHistories.Add(progressHistory); var log = new Log() { ApplicationUserID = userId, MainTaskID = mainTask.MainTaskID }; db.Logs.Add(log); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = mainTask.MainTaskID }, mainTask)); }
public List <AccountInfoDto> Execute(int projectId) { List <AccountInfoDto> info = new List <AccountInfoDto>(); var accounts = dbContext.MarketingAccountDetails.Where(var => (projectId == 0) || (var.ProjectId ?? 0) == projectId).OrderBy(var => var.StatusInt).ThenBy(var => var.StartDate); foreach (var item in accounts) { var accountInfo = new AccountInfoDto { StartDate = item.StartDate.ToString("dd MMMM yy"), AccountId = item.AccountId, AccountName = item.AccountName, CreatedOn = item.CreatedOn, CustomId = item.CustomAccountId, Status = item.Status, ProjectId = item.ProjectId ?? 0, ProjectName = item.ProjectId == 0 ? "" : dbContext.ProjectDetails.Find(item.ProjectId).ProjectName }; accountInfo.ProgressHistory = new List <ProgressHistory>(); var history = dbContext.AccountTimeLogDetails.Where(x => x.AccountId == item.AccountId); if (history != null) { foreach (var log in history) { var historyItem = new ProgressHistory { StartTime = log.StartTime, EndTime = log.EndTime, UserName = dbContext.UserPersonalDetails.FirstOrDefault(x => x.UserId == log.UserId).FirstName, Comments = log.Comment }; if (log.Status != null) { switch (log.Status) { case 1: historyItem.Status = "New"; break; case 2: historyItem.Status = "In progress"; break; case 3: historyItem.Status = "Paused"; break; case 4: historyItem.Status = "Completed"; break; default: historyItem.Status = "New"; break; } } accountInfo.ProgressHistory.Add(historyItem); } } var timelog = dbContext.AccountTimeLogDetails.Where(x => x.AccountId == item.AccountId).OrderByDescending(var => var.StartTime).FirstOrDefault(); if (timelog != null) { accountInfo.PickedBy = timelog != null?dbContext.UserPersonalDetails.FirstOrDefault(x => x.UserId == timelog.UserId).FirstName : null; accountInfo.PickedOn = timelog != null ? (DateTime?)timelog.StartTime : null; accountInfo.TimeLogId = timelog != null ? timelog.AccountTimeLogId : 0; accountInfo.CompletedOn = timelog != null ? timelog.EndTime : null; } info.Add(accountInfo); } return(info.ToList()); }