コード例 #1
0
        // GET: Packages/Create
        public ActionResult Create()
        {
            MasterPackageViewModel model = new MasterPackageViewModel();

            ViewBag.Services = db.Services.ToList();
            model.AvailableSubscriptionTypes = ListHelper.GetSubscriptionTypeList();
            return(View(model));
        }
コード例 #2
0
        public ActionResult Create(MasterPackageViewModel model, string[] selectedServices)
        {
            //ViewBag.CarTypeId = new SelectList(db.CarTypes, "Id", "Description", package.CarTypeId); //comment by circus
            ViewBag.Services = db.Services.ToList();
            if (selectedServices != null)
            {
                ModelState.Remove("CreatedBy");
                ModelState.Remove("CreateDt");

                if (ModelState.IsValid)
                {
                    Package package = new Package();
                    package.Package_Name        = model.Package_Name;
                    package.Package_Description = model.Package_Description;
                    package.Package_Price       = model.Package_Price;
                    package.SubscriptionTypes   = string.Join(",", model.SubscriptionTypes);

                    if (string.IsNullOrEmpty(package.SubscriptionTypes))
                    {
                        package.SubscriptionTypes = "1";
                    }

                    package.CreatedBy = "Admin";
                    package.CreateDt  = DateTime.Now;


                    db.Packages.Add(package);
                    // db.SaveChanges();
                    List <Package_Services> packageServices = new List <Package_Services>();
                    var packageService = new Package_Services();
                    foreach (var service in selectedServices)
                    {
                        packageService = new Package_Services {
                            PackageID = package.PackageId, ServiceID = Convert.ToInt32(service)
                        };
                        packageServices.Add(packageService);
                    }
                    db.Package_Services.AddRange(packageServices);
                    db.SaveChanges();
                    AddNotification(Models.NotifyType.Success, "Records Successfully Saved.", true);
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                ViewBag.Message = "Please select atleast one service";
                return(View());
            }



            model.AvailableSubscriptionTypes = ListHelper.GetSubscriptionTypeList();
            return(View(model));
        }
コード例 #3
0
        public ActionResult Edit(MasterPackageViewModel model, string[] selectedServices)
        {
            Package package = db.Packages.Find(model.PackageId);

            if (package == null)
            {
                return(HttpNotFound());
            }

            if (ModelState.IsValid)
            {
                package.Package_Name        = model.Package_Name;
                package.Package_Description = model.Package_Description;
                package.Package_Price       = model.Package_Price;
                package.SubscriptionTypes   = string.Join(",", model.SubscriptionTypes);

                if (string.IsNullOrEmpty(package.SubscriptionTypes))
                {
                    package.SubscriptionTypes = "1";
                }

                //db.Entry(package).State = EntityState.Modified;
                //.CreateDt = DateTime.Now;
                db.SaveChanges();
                var deleteList = db.Package_Services.Where(a => a.PackageID == model.PackageId).ToList();
                db.Package_Services.RemoveRange(deleteList);
                var packageServices = new List <Package_Services>();
                foreach (var service in selectedServices)
                {
                    var packageService = new Package_Services {
                        PackageID = package.PackageId, ServiceID = Convert.ToInt32(service)
                    };
                    packageServices.Add(packageService);
                }
                db.Package_Services.AddRange(packageServices);

                db.SaveChanges(); // added by sachin 18 March 2016
                AddNotification(Models.NotifyType.Success, "Records Successfully Updated.", true);
                return(RedirectToAction("Index"));
            }

            ViewBag.Services                 = db.Services.ToList();
            ViewBag.CheckedServices          = package.Package_Services.Select(a => a.Service).ToList();
            model.AvailableSubscriptionTypes = ListHelper.GetSubscriptionTypeList();

            return(View(package));
        }
コード例 #4
0
        public JsonResult GetMasterPackage(string objectType, string parentId, string parentCode)
        {
            return(ExecuteFunctionRun(() =>
            {
                ActionResult result = new ActionResult();

                MasterPackageViewModel model = new MasterPackageViewModel()
                {
                    ParentId = parentId,
                    ObjectType = objectType,
                    ParentCode = parentCode,
                    StorageType = "1",
                    IsImport = false,
                };
                result.Extend = new
                {
                    MasterPackage = model,
                    BizServices = GetBizServices()
                };
                result.Success = true;
                return Json(result, JsonRequestBehavior.AllowGet);
            }));
        }
コード例 #5
0
        // GET: Packages/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Package package = db.Packages.Find(id);
            MasterPackageViewModel model = new MasterPackageViewModel();


            if (package == null)
            {
                return(HttpNotFound());
            }

            model.PackageId           = package.PackageId;
            model.Package_Name        = package.Package_Name;
            model.Package_Description = package.Package_Description;
            model.Package_Price       = package.Package_Price;
            if (!string.IsNullOrEmpty(package.SubscriptionTypes))
            {
                model.SubscriptionTypes = package.SubscriptionTypes.Split(',');
            }
            else
            {
                model.SubscriptionTypes = new string[] { "1" }
            };

            model.AvailableSubscriptionTypes = ListHelper.GetSubscriptionTypeList();

            ViewBag.Services        = db.Services.ToList();
            ViewBag.CheckedServices = package.Package_Services.Select(a => a.Service).ToList();

            return(View(model));
        }
コード例 #6
0
        public JsonResult SaveMasterPackage(MasterPackageViewModel model)
        {
            return(ExecuteFunctionRun(() =>
            {
                ActionResult result = new ActionResult();
                if (string.IsNullOrWhiteSpace(model.Code))
                {
                    result.Success = false;
                    result.Message = "EditBizObjectSchema.CodeNotNull";
                    return Json(result, JsonRequestBehavior.AllowGet);
                    //this.ShowErrorMessage(this.PortalResource.GetString("BizOperation_CodeNotNull"));
                }
                H3.DataModel.BizObjectSchema schema = null;
                if (model.IsImport)
                {
                    if (!string.IsNullOrEmpty(model.BizService))
                    {
                        schema = this.FromDbTableAdapter(model.Code, model.BizService);
                        schema.DisplayName = model.DisplayName ?? schema.SchemaCode;
                    }
                }
                else
                {
                    ////手工新建
                    //if (string.IsNullOrWhiteSpace(model.DisplayName))
                    //{
                    //    result.Success = false;
                    //    result.Message = "EditBizObjectSchema.DisplayNameNotNull";
                    //    return Json(result, JsonRequestBehavior.AllowGet);
                    //}
                    StorageType storageType = (StorageType)int.Parse(model.StorageType);
                    schema = new DataModel.BizObjectSchema(storageType,
                                                           model.Code.Trim(),
                                                           storageType != StorageType.PureServiceBased);
                    schema.DisplayName = model.DisplayName ?? schema.SchemaCode;
                }

                if (schema == null)
                {
                    result.Success = false;
                    result.Message = "msgGlobalString.CreateFailed";
                    return Json(result, JsonRequestBehavior.AllowGet);
                }

                //添加校验
                if (schema.SchemaCode.Length > BizObjectSchema.MaxCodeLength)
                {
                    result.Success = false;
                    result.Message = "EditBizObjectSchema.Msg1";
                    result.Extend = BizObjectSchema.MaxCodeLength;
                    return Json(result, JsonRequestBehavior.AllowGet);
                    //this.ShowWarningMessage(this.PortalResource.GetString("BizObjectSchema_Mssg1") + BizObjectSchema.MaxCodeLength);
                }

                //校验编码规范
                System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(BizObjectSchema.CodeRegex);
                if (!regex.IsMatch(schema.SchemaCode))
                {
                    result.Success = false;
                    result.Message = "EditBizObjectSchemaProperty.Msg2";
                    return Json(result, JsonRequestBehavior.AllowGet);
                    //this.ShowWarningMessage(this.PortalResource.GetString("BizObjectSchema_Mssg2"));
                }

                if (!this.Engine.BizObjectManager.AddDraftSchema(schema))
                {
                    //保存失败,可能是由于编码重复
                    result.Success = false;
                    result.Message = "EditBizObjectSchema.Msg3";
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
                else
                {
                    // 添加成功,这里还是需要写入FuntionNode节点的,为了跟流程包里的数据模型节点区别
                    Acl.FunctionNode node = new Acl.FunctionNode
                                                (schema.SchemaCode,
                                                schema.DisplayName,
                                                "",
                                                "",
                                                FunctionNodeType.BizObject,
                                                model.ParentCode,
                                                0
                                                );

                    this.Engine.FunctionAclManager.AddFunctionNode(node);
                }

                result.Success = true;
                result.Message = "msgGlobalString.SaveSuccess";
                result.Extend = model.ParentId;
                return Json(result, JsonRequestBehavior.AllowGet);
            }));
        }