public ActionResult DeleteCondition(string improvementId, string conditionId) { try { AgentBase ABase = new AgentBase(); DatabaseContext dbx = ABase.GetContext(); int nConditionId = Convert.ToInt32(conditionId); int nImprovementId = Convert.ToInt32(improvementId); Reco3Improvement improvement = dbx.Reco3Improvements.Where(x => x.ImprovementId == nImprovementId).First(); if (improvement != null) { Reco3Condition condition = dbx.Reco3Conditions.Where(x => x.Reco3ConditionId == nConditionId).First(); if (condition != null) { improvement.Conditions.Remove(condition); dbx.Reco3Conditions.Remove(condition); dbx.SaveChanges(); return(Json(new { success = true, message = "Successfully deleted condition" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, message = "Failed to find the condition." }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { success = false, message = "Failed to find the improvement for the condition." }, JsonRequestBehavior.AllowGet)); } /* * Reco3Improvement improvement = dbx.Reco3Improvements.Where(x => x.ImprovementId == nImprovementId).First(); * if (improvement != null) * { * dbx.Entry(improvement).Collection(p => p.Conditions).Load(); * Reco3Component conditionalComponent = dbx.Reco3Components.Where(x => x.ComponentId == nconditionPDComponentId).First(); * Reco3Condition pCondition = new Reco3Condition(Convert.ToInt32(conditionPDComponentId), DateTime.Parse(conditionDate)); * pCondition.ConditionalReco3Component = conditionalComponent; * improvement.Conditions.Add(pCondition); * dbx.SaveChanges(); * return Json(new { success = true, message = "Successfully added condition" }, JsonRequestBehavior.AllowGet); * } * else * return Json(new { success = false, message = "Failed to find the improvement for the condition." }, JsonRequestBehavior.AllowGet); */ } catch (Exception e) { Console.WriteLine(e); return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } //return Json(new { success = false, message = "Fatal" }, JsonRequestBehavior.AllowGet); }
public ActionResult SaveCondition(string improvementId, string conditionId, string pdCondition, string conditionPDComponentId, string conditionDate, string tagId, string tagValue) { try { AgentBase ABase = new AgentBase(); DatabaseContext dbx = ABase.GetContext(); bool bAddingCondition = true; int nConditionId = -1; if (conditionId.Length > 0) { nConditionId = Convert.ToInt32(conditionId); } if (nConditionId != -1) { bAddingCondition = false; } bool bPdCondition = Convert.ToBoolean(pdCondition); int nconditionPDComponentId = -1; int ntagId = -1; int nImprovementId = Convert.ToInt32(improvementId); Reco3Improvement improvement = dbx.Reco3Improvements.Where(x => x.ImprovementId == nImprovementId).First(); if (improvement == null) { return(Json(new { success = false, message = "Failed to find the improvement for the condition." }, JsonRequestBehavior.AllowGet)); } // Load the existing conditions dbx.Entry(improvement).Collection(p => p.Conditions).Load(); if (bAddingCondition == true) { Reco3Condition pCondition = new Reco3Condition(); pCondition.ValidFrom = DateTime.Parse(conditionDate); if (bPdCondition == true) { nconditionPDComponentId = Convert.ToInt32(conditionPDComponentId); pCondition.Condition_Type = Reco3Condition.ConditionType.condtionalComponent; Reco3Component conditionalComponent = dbx.Reco3Components.Where(x => x.ComponentId == nconditionPDComponentId).First(); pCondition.ConditionalReco3Component = conditionalComponent; } else { ntagId = Convert.ToInt32(tagId); Reco3Tag tag = dbx.Reco3Tags.Where(x => x.Reco3TagId == ntagId).First(); pCondition.Condition_Type = Reco3Condition.ConditionType.conditionalTag; pCondition.ConditionalReco3Component = null; pCondition.Reco3Tag = tag; pCondition.Reco3TagId = tag.Reco3TagId; pCondition.Reco3TagValue = tagValue; } improvement.Conditions.Add(pCondition); dbx.SaveChanges(); return(Json(new { success = true, message = "Successfully added condition" }, JsonRequestBehavior.AllowGet)); } else { Reco3Condition pCondition = improvement.Conditions.Where(x => x.Reco3ConditionId == nConditionId).First(); pCondition.ValidFrom = DateTime.Parse(conditionDate); if (bPdCondition == true) { pCondition.Condition_Type = Reco3Condition.ConditionType.condtionalComponent; nconditionPDComponentId = Convert.ToInt32(conditionPDComponentId); Reco3Component conditionalComponent = dbx.Reco3Components.Where(x => x.ComponentId == nconditionPDComponentId).First(); pCondition.ConditionalReco3Component = conditionalComponent; } else { ntagId = Convert.ToInt32(tagId); Reco3Tag tag = dbx.Reco3Tags.Where(x => x.Reco3TagId == ntagId).First(); pCondition.Condition_Type = Reco3Condition.ConditionType.conditionalTag; pCondition.ConditionalReco3Component = null; pCondition.Reco3Tag = tag; pCondition.Reco3TagId = tag.Reco3TagId; pCondition.Reco3TagValue = tagValue; } dbx.Entry(pCondition).State = System.Data.Entity.EntityState.Modified; dbx.SaveChanges(); return(Json(new { success = true, message = "Successfully updated condition" }, JsonRequestBehavior.AllowGet)); } //return Json(new { success = false, message = "Failed to find the improvement for the condition." }, JsonRequestBehavior.AllowGet); } catch (Exception e) { Console.WriteLine(e); return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } //return Json(new { success = false, message = "Fatal" }, JsonRequestBehavior.AllowGet); }