public void Save(ComplianceResult data, string loggedInUserName) { var comp = _webcontext.Compliances.Where(m => m.ID == data.ComplianceId).FirstOrDefault(); if (comp == null) { comp = new Compliance(); comp.ActivityInfoId = data.ID; comp.Description = data.Description; comp.DueDate = data.DueDate; comp.CompletionDate = data.CompletionDate; comp.IsDelayed = data.IsDelayed; comp.ReasonForDelay = data.ReasonForDelay; comp.IsDelayAcceptable = data.IsDelayAcceptable; comp.Remarks = data.Remarks; comp.HasDeviation = data.HasDeviation; comp.DeviationDesc = data.DeviationDesc; comp.IsDeviationAcceptable = data.IsDeviationAcceptable; comp.IsActive = true; comp.CreatedBy = loggedInUserName; comp.CreatedOn = DateTime.Now; _webcontext.Compliances.Add(comp); } else { comp.ActivityInfoId = data.ID; comp.Description = data.Description; comp.DueDate = data.DueDate; comp.CompletionDate = data.CompletionDate; comp.IsDelayed = data.IsDelayed; comp.ReasonForDelay = data.ReasonForDelay; comp.IsDelayAcceptable = data.IsDelayAcceptable; comp.Remarks = data.Remarks; comp.HasDeviation = data.HasDeviation; comp.DeviationDesc = data.DeviationDesc; comp.IsDeviationAcceptable = data.IsDeviationAcceptable; comp.UpdatedBy = loggedInUserName; comp.UpdatedOn = DateTime.Now; } //Update status var actInfo = _webcontext.ActivityInfoes.Where(m => m.ID == data.ID).FirstOrDefault(); if (actInfo != null) { actInfo.Status = data.Status; actInfo.UpdatedBy = loggedInUserName; actInfo.UpdatedOn = DateTime.Now; } _webcontext.SaveChanges(); }
/// <summary> /// Processes all steps in a suite together /// </summary> /// <param name="query"></param> /// <returns></returns> public ComplianceResult ProcessComplianceStep(ComplianceQuery query) { var complianceResult = new ComplianceResult(); foreach (var step in _processors) { var stepResult = step.ProcessComplianceStep(query); if (!stepResult.Success && !step.ContinueOnFailure) { return(stepResult + complianceResult); } complianceResult = stepResult + complianceResult; } return(complianceResult); }
public OperationResult Post(ComplianceResult compliance) { OperationResult result = new OperationResult(); try { lCompliance.Save(compliance, LoggedInUserName); result.Status = OperationStatus.SUCCESS; } catch (Exception ex) { result.ErrorMessage = ex.Message; } return(result); }