Пример #1
0
        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);
        }
Пример #2
0
        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);
        }