Beispiel #1
0
        public virtual object ItemSave(Area areaInput)
        {
            ValidationStateDictionary validationState;

            if (areaInput.ID == Guid.Empty)
            {
                Area area;
                areaService.AddArea(areaInput, out validationState, out area);

                //TODO: (erikpo) Get rid of HasMultipleAreas and make it a calculated field so the following isn't necessary
                Site siteToEdit = siteService.GetSite(site.Name);

                siteToEdit.HasMultipleAreas = true;

                siteService.EditSite(siteToEdit, out validationState);

                if (validationState.IsValid)
                {
                    OxiteApplication.Load(ControllerContext.HttpContext);
                }
            }
            else
            {
                areaService.EditArea(areaInput, out validationState);
            }

            if (!validationState.IsValid)
            {
                ModelState.AddModelErrors(validationState);

                return(ItemEdit(areaInput));
            }

            return(Redirect(Url.Admin()));
        }
Beispiel #2
0
        public async Task <AreaResponseDto> AreaManagementInsert(AreaDto requestDto)
        {
            var result = await _areaService.AddArea(requestDto).ConfigureAwait(false);

            return(new AreaResponseDto
            {
                StatusCode = result != default ? HttpStatusCode.OK : HttpStatusCode.Unauthorized,
                StatusDescription = result != default? "Ok":"Error",
            });
Beispiel #3
0
        public virtual object SaveItem(Site siteInput, User userInput, FormCollection form)
        {
            ValidationStateDictionary validationState;

            if (siteInput.ID == Guid.Empty && userInput != null)
            {
                //TODO: (erikpo) This seems lame, but I need to do validation ahead of time.  Fix this.
                IUnityContainer   container     = (IUnityContainer)HttpContext.Application["container"];
                IValidator <Site> siteValidator = container.Resolve <IValidator <Site> >();
                IValidator <User> userValidator = container.Resolve <IValidator <User> >();

                validationState = new ValidationStateDictionary();

                validationState.Add(typeof(Site), siteValidator.Validate(siteInput));
                validationState.Add(typeof(User), userValidator.Validate(userInput));

                if (string.IsNullOrEmpty(form["userEmail"]))
                {
                    validationState[typeof(User)].Errors.Add("Email", form["userEmail"], "You must specify an Admin email address.");
                }

                if (string.IsNullOrEmpty(form["userPassword"]))
                {
                    validationState[typeof(User)].Errors.Add("Password", form["userPassword"], "You must specify an Admin password.");
                }

                if (string.IsNullOrEmpty(form["userPasswordConfirm"]))
                {
                    validationState[typeof(User)].Errors.Add("PasswordConfirm", form["userPasswordConfirm"], "You must confirm the Admin password.");
                }

                if (validationState.IsValid && form["userPassword"] != form["userPasswordConfirm"])
                {
                    validationState[typeof(User)].Errors.Add("PasswordMismatch", form["userPasswordConfirm"], "Admin passwords do not match.");
                }

                if (validationState.IsValid)
                {
                    Site site;

                    siteService.AddSite(siteInput, out validationState, out site);

                    Language language = new Language {
                        Name = "en", DisplayName = "English"
                    };
                    languageService.AddLanguage(language);

                    userService.EnsureAnonymousUser(language);

                    User user;

                    userInput.Status          = (byte)EntityState.Normal;
                    userInput.LanguageDefault = language;

                    userService.AddUser(userInput, out validationState, out user);

                    Area area = new Area
                    {
                        CommentingDisabled = false,
                        Name        = "Blog",
                        DisplayName = site.DisplayName,
                        Description = site.Description
                    };

                    areaService.AddArea(area, site, out validationState, out area);
                }
            }
            else
            {
                siteService.EditSite(siteInput, out validationState);
            }

            if (!validationState.IsValid)
            {
                ModelState.AddModelErrors(validationState);

                return(Item());
            }

            OxiteApplication.Load(ControllerContext.HttpContext);

            return(Redirect(Url.AppPath(Url.ManageSite())));
        }
Beispiel #4
0
        /// <summary>
        /// 添加或修改区域及其规则入数据库
        /// </summary>
        private void AddAreaAndRulesToDB()
        {
            AreaInfo temparea = null;

            if (type == 0)
            {
                //新增
                temparea = GetAreaInfoItem(txt_areaName.Text.Trim(), txt_areaPosition.Text);
            }
            else
            {
                //修改
                temparea = GetAreaByAreaID(areaid);
            }
            List <AreaRuleInfo> areaRuleInfoList = new List <AreaRuleInfo>();

            for (int i = 0; i < gridView1.RowCount; i++)
            {
                AreaRuleInfo areaRuleItem = GetAreaRuleItem(Convert.ToInt32(gridView1.GetRowCellValue(i, "devid").ToString())
                                                            , Convert.ToInt32(gridView1.GetRowCellValue(i, "deviceCount").ToString())
                                                            , float.Parse(gridView1.GetRowCellValue(i, "maxVal").ToString())
                                                            , float.Parse(gridView1.GetRowCellValue(i, "minVal").ToString())
                                                            , temparea.Areaid);

                areaRuleInfoList.Add(areaRuleItem);
            }
            if (type == 0)
            {
                //增加区域设备定义限制信息
                temparea.AreaRuleInfoList = areaRuleInfoList;

                AreaAddRequest areaAddRequest = new AreaAddRequest();
                areaAddRequest.AreaInfo = temparea;
                areaService.AddArea(areaAddRequest);
            }
            else
            {
                //修改
                temparea.AreaBound        = txt_areaPosition.Text;
                temparea.Areaname         = txt_areaName.Text.Trim();
                temparea.CreateUpdateTime = DateTime.Now;

                //增加人员报警信息  20171129
                temparea.Bz1 = AlarmTime.Text;
                temparea.Bz2 = RatedPersonCount.Value.ToString();
                temparea.RestrictedpersonInfoList = restrictedpersonInfoList;

                //增加区域设备定义限制信息
                temparea.AreaRuleInfoList = areaRuleInfoList;

                AreaUpdateRequest areaUpdateRequest = new AreaUpdateRequest();
                areaUpdateRequest.AreaInfo = temparea;
                areaService.UpdateArea(areaUpdateRequest);
            }

            //DeleteAreaRules(temparea.Areaid);
            //AreaRuleInfo areaRuleItem;
            //AreaRuleAddRequest areaRuleAddRequest;
            //for (int i = 0; i < gridView1.RowCount; i++)
            //{

            //    areaRuleItem = GetAreaRuleItem(Convert.ToInt32(gridView1.GetRowCellValue(i, "devid").ToString())
            //        , Convert.ToInt32(gridView1.GetRowCellValue(i, "deviceCount").ToString())
            //        , float.Parse(gridView1.GetRowCellValue(i, "maxVal").ToString())
            //        , float.Parse(gridView1.GetRowCellValue(i, "minVal").ToString())
            //        , temparea.Areaid);

            //    areaRuleAddRequest = new AreaRuleAddRequest();
            //    areaRuleAddRequest.AreaRuleInfo = areaRuleItem;
            //    areaRuleService.AddAreaRule(areaRuleAddRequest);
            //}
        }
Beispiel #5
0
 public BasicResponse <AreaInfo> AddArea(Sys.Safety.Request.Area.AreaAddRequest arearequest)
 {
     return(areaService.AddArea(arearequest));
 }
Beispiel #6
0
 public AreaBaseDto AddArea([FromBody] AreaBaseDto area) => _areaService.AddArea(area);