/// <summary> /// This function deletes the applicationstatuses for the applications /// </summary> /// <param name="request"></param> /// <returns></returns> public bool DeleteApplicationStatuses(DeleteApplicationStatusHelper request) { var context = new dbDataContext(); var appIds = request.ApplicationIds.TrimEnd(',').Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var appId in appIds) { // Deletes the application statuses var appHistories = context.tbl_ApplicationStatusHistories.Where( t => t.ApplicationId == int.Parse(appId) && t.ApplicationStatusId == request.ApplicationStatusId) .ToList(); context.tbl_ApplicationStatusHistories.DeleteAllOnSubmit(appHistories); context.SubmitChanges(); // Set the status id in application table to the next recent one var app = context.tbl_JobApplications.FirstOrDefault(t => t.JobApplicationId == int.Parse(appId)); if (app != null) { var nextLatestHistory = context.tbl_ApplicationStatusHistories.OrderByDescending( t => t.ApplicationStatusId).FirstOrDefault( t => t.ApplicationId == int.Parse(appId)); app.ApplicationStatusId = nextLatestHistory != null ? nextLatestHistory.ApplicationStatusId : 1; app.LastUpdatedDate = DateTime.Now; context.SubmitChanges(); } } return true; }
public bool DeleteApplicationStatuses(DeleteApplicationStatusHelper request) { return new JobApplications().DeleteApplicationStatuses(request); }