示例#1
0
        public JsonResult AddSystem(string selectedItems, int unitId)
        {
            using (var db = new WebAppDbContext())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    List <TreeViewNode> parentItems = new List <TreeViewNode>();

                    var vm = new ConfigViewModel();
                    try
                    {
                        if (unitId != 0)
                        {
                            if (IsValidSiteId(unitId))
                            {
                                List <TreeViewNode> items = (new JavaScriptSerializer()).Deserialize <List <TreeViewNode> >(selectedItems);

                                List <string> newListOfParent = new List <string>();

                                foreach (var temp in items.Select(x => x.parents))
                                {
                                    newListOfParent = newListOfParent.Concat(temp).ToList();
                                }
                                newListOfParent = newListOfParent.Distinct().ToList();

                                foreach (var selected in items)
                                {
                                    if (selected.parent == "#")
                                    {
                                        selected.parent = "0";
                                    }

                                    if (!db.C_Site_Config.Where(x => x.SiteId == unitId).Any(x => x.ESWBS == selected.id))
                                    {
                                        var model = new C_Site_Config
                                        {
                                            SiteId       = unitId,
                                            ESWBS        = selected.id,
                                            PESWBS       = selected.parent,
                                            Title        = selected.text,
                                            Nomanclature = selected.text.Substring(selected.text.IndexOf('-') + 2),
                                        };
                                        db.C_Site_Config.Add(model);
                                    }
                                }

                                foreach (var selected in newListOfParent)
                                {
                                    if (!items.Where(x => x.id == selected).Any() && selected != "#")
                                    {
                                        C_Config_Master master = db.C_Config_Master.Where(x => x.ESWBS == selected).FirstOrDefault();

                                        if (!db.C_Site_Config.Where(x => x.SiteId == unitId).Any(x => x.ESWBS == selected))
                                        {
                                            var model = new C_Site_Config
                                            {
                                                SiteId       = unitId,
                                                ESWBS        = selected,
                                                PESWBS       = master.PESWBS,
                                                Title        = master.Nomanclature,
                                                Nomanclature = master.Nomanclature,
                                            };
                                            db.C_Site_Config.Add(model);
                                        }
                                    }
                                }

                                db.SaveChanges();
                                transaction.Commit();
                                vm = GetSiteConfigTree(unitId);
                            }
                        }
                        //Serialize to JSON string.

                        return(Json(vm, JsonRequestBehavior.AllowGet));
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        Exception(ex);

                        return(Json(vm, JsonRequestBehavior.AllowGet));
                    }
                }
            }
        }
示例#2
0
        public ActionResult EditChild(C_SiteConfigModel model)
        {
            var    type       = "error";
            var    msg        = string.Empty;
            string actionName = "EditChild";

            _logger.Log(LogLevel.Trace, actionName + " :: started.");

            ConfigViewModel vm = new ConfigViewModel();

            try
            {
                if (ModelState.IsValid)
                {
                    if (model.SiteId > 0)
                    {
                        if (IsValidSiteId(model.SiteId))
                        {
                            using (var db = new WebAppDbContext())
                            {
                                if (model.SiteId != 0 && !String.IsNullOrWhiteSpace(model.ESWBS))
                                {
                                    if (db.C_Site_Config.Any(x => x.SiteId == model.SiteId && model.ESWBS == x.ESWBS))
                                    {
                                        var obj = new C_Site_Config()
                                        {
                                            SiteId       = model.SiteId,
                                            ESWBS        = model.ESWBS,
                                            PESWBS       = model.PESWBS,
                                            Nomanclature = model.Nomanclature,
                                            Qty          = model.Qty,
                                            PMS_No       = model.PMS_No,
                                            SMR_Code     = model.SMR_Code,
                                            CageId       = model.CageId,
                                            PartId       = model.PartId,
                                            Title        = model.ESWBS + " - " + model.Nomanclature,
                                        };

                                        db.Entry(obj).State = EntityState.Modified;
                                        db.SaveChanges();

                                        vm = GetSiteConfigTree(model.SiteId);

                                        type = "success";
                                        msg  = "ESWBS Updated Successfully !! ";
                                    }
                                    else
                                    {
                                        msg = "ESWBS : " + model.ESWBS + " Not Found.";
                                        _logger.Log(LogLevel.Trace, actionName + " :: " + msg);
                                    }


                                    _logger.Log(LogLevel.Trace, actionName + " :: Ended.");
                                }
                                else
                                {
                                    _logger.Log(LogLevel.Error, actionName + " :: Ended. Required data missing. ");
                                    msg = "Required Data Missing !!!";
                                }
                            }
                        }
                        else
                        {
                            msg = "Please Select Valid Site !!!";
                        }
                    }
                    else
                    {
                        msg = "Invalid Site Selected !!!";
                    }
                }
                else
                {
                    _logger.Log(LogLevel.Error, actionName + " :: Ended. Model validation failed ");
                    Alert("Something Went Wrong !!", NotificationType.error);

                    msg = "Validation failed !!!";
                }
            }
            catch (Exception ex)
            {
                type = "error";
                Exception(ex);
                _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString());

                msg = "Something Went Wrong !!!";
            }

            if (type == "success")
            {
                return(Json(new
                {
                    type = type,
                    msg = msg,
                    vm = vm
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new
                {
                    type = type,
                    msg = msg,
                    vm = model
                }, JsonRequestBehavior.AllowGet));
            }
        }