Exemplo n.º 1
0
    public ValidateMessage getValidation()
    {
        ValidateMessage message = new ValidateMessage();

        if (GlobalGui.isBlank(sFirstName))
        {
            message.sMessage = "Du må oppgi fornavn";
            message.bOK      = false;
        }
        else if (GlobalGui.isBlank(sLastName))
        {
            message.sMessage = "Du må oppgi etternavn";
            message.bOK      = false;
        }
        else if (GlobalGui.isBlank(sMailAddress))
        {
            message.sMessage = "Du må oppgi ePost adresse";
            message.bOK      = false;
        }
        else if (GlobalGui.isBlank(sLastName))
        {
            message.sMessage = "Du må oppgi telefonnummer";
            message.bOK      = false;
        }
        else
        {
            message.bOK = true;
        }
        return(message);
    }
Exemplo n.º 2
0
        private void ShowError(Dictionary <string, string> errors)
        {
            ValidateMessage mes = new ValidateMessage();

            mes.ErrorMessage(errors, "email", email_er);
            mes.ErrorMessage(errors, "password", password_er);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.Name))
            {
                msg.Contents.Add("名称不可空");
            }

            if (string.IsNullOrEmpty(this.CompanyName))
            {
                msg.Contents.Add("公司名称不可空");
            }
            else
            {
                ICompanyService cs = new CompanyService(dbString);
                Company         c  = cs.FindByName(this.CompanyName);
                if (c == null)
                {
                    msg.Contents.Add("公司不存在");
                }
                else
                {
                    this.Company = c;
                    //IDepartmentService ds = new DepartmentService(dbString);
                    //BlueHrLib.Data.Department d = ds.FindByIdWithCompanyId(this.Company.id, this.ParentDepartmentName);
                    //if (d != null)
                    //{
                    //    msg.Contents.Add("部门已存在,不可重复");
                    //}
                }
            }



            //if (msg.Contents.Count == 0)
            //{
            //    if (!string.IsNullOrEmpty(this.ParentDepartmentName))
            //    {
            //        IDepartmentService ds = new DepartmentService(dbString);
            //        BlueHrLib.Data.Department d = ds.FindByIdWithCompanyId(this.Company.id, this.ParentDepartmentName);
            //        if (d == null)
            //        {
            //            msg.Contents.Add("上级部门不存在");
            //        }
            //        else
            //        {
            //            this.ParentDepartment = d;
            //        }
            //    }
            //}

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 4
0
        private void ShowErrors(Dictionary <string, string> errors)
        {
            ValidateMessage mes = new ValidateMessage();

            mes.ErrorMessage(errors, "name", name_er);
            mes.ErrorMessage(errors, "description", description_er);
            mes.ErrorMessage(errors, "singer", singer_er);
            mes.ErrorMessage(errors, "author", author_er);
            mes.ErrorMessage(errors, "thumbnail", thumbnail_er);
            mes.ErrorMessage(errors, "link", link_er);
        }
Exemplo n.º 5
0
        public static async Task TestRequired()
        {
            var context = new CFQuickStartStateMachine.Context
            {
                //ProjectName = "dotstep-starter",
                SourceCodeDirectory = "dotstep-starter-master",
                ProjectZipLocation  = "https://github.com/paulfryer/dotstep-starter/archive/master.zip"
            };

            var lambda = new ValidateMessage <CFQuickStartStateMachine.Context>();

            context = await lambda.Execute(context);
        }
Exemplo n.º 6
0
        private void ShowError(Dictionary <string, string> errors)
        {
            ValidateMessage mes = new ValidateMessage();

            mes.ErrorMessage(errors, "firstName", errorName);
            mes.ErrorMessage(errors, "lastName", errorLast);
            mes.ErrorMessage(errors, "phone", errorPhone);
            mes.ErrorMessage(errors, "address", errorAddress);
            mes.ErrorMessage(errors, "introduction", errorIntrodution);
            mes.ErrorMessage(errors, "gender", errorGender);
            mes.ErrorMessage(errors, "birthday", errorBirthday);
            mes.ErrorMessage(errors, "email", errorEmail);
            mes.ErrorMessage(errors, "password", errorPassword);
        }
Exemplo n.º 7
0
        private void ShowError(Dictionary <string, string> errors)
        {
            ValidateMessage mes = new ValidateMessage();

            mes.ErrorMessage(errors, "firstName", firstname_er);
            mes.ErrorMessage(errors, "lastName", lastname_er);
            mes.ErrorMessage(errors, "phone", phone_er);
            mes.ErrorMessage(errors, "adrress", address_er);
            mes.ErrorMessage(errors, "introduction", introduction_er);
            mes.ErrorMessage(errors, "gender", gender_er);
            mes.ErrorMessage(errors, "birthday", birthday_er);
            mes.ErrorMessage(errors, "email", email_er);
            mes.ErrorMessage(errors, "password", password_er);
        }
Exemplo n.º 8
0
        /*
         * public override void OnActionExecuting (ActionExecutingContext context) {
         *  LogTo.Debug ("ModelStateValidation OnActionExecuting start...");
         *
         *  LogTo.Debug ("ModelStateValidation OnActionExecuting end...");
         * }
         */

        // 自製驗證訊息
        // 為了要轉換成中文語系
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            // LogTo.Debug("ModelStateValidation OnActionExecuting start...");

            // LogTo.Debug("OnActionExecuted:" + context.HttpContext.Request.Method);
            // 判斷POST或是PUT才做Model Building驗證
            string httpMethod = context.HttpContext.Request.Method;

            if ((("POST".Equals(httpMethod) || "PUT".Equals(httpMethod)) && !context.ModelState.IsValid))
            {
                var modelStateErrors = (from modelState in context.ModelState.Values
                                        from error in modelState.Errors
                                        where !excludeColumns.Any(column => error.ErrorMessage.Contains(column)) // 過濾掉排除欄位
                                        select error);

                ValidateMessage validateMessage = new ValidateMessage();
                validateMessage.Success = false;
                List <string> errors = new List <string>();
                foreach (var modelStateError in modelStateErrors)
                {
                    var isRequired = Regex.Match(modelStateError.ErrorMessage, "The (.*?) field is required.");
                    if (isRequired.Success)
                    {
                        //log.Debug (message.ErrorMessage);
                        //log.Debug (isRequired.Groups[1].Value + "必填欄位");
                        errors.Add(isRequired.Groups[1].Value + "必填欄位");
                        // TODO 陸續加入英文轉中文驗證訊息
                    }
                    else
                    {
                        //LogTo.Debug(modelStateError.ErrorMessage);
                        errors.Add(modelStateError.ErrorMessage);
                    }
                }
                // 判斷是否有驗證未通過
                if (errors.Count() > 0)
                {
                    validateMessage.Message = errors;
                    context.Result          = new ObjectResult(validateMessage);
                }
                else
                {
                    context.ModelState.Clear();
                }
            }

            // LogTo.Debug("ModelStateValidation OnActionExecuting finish...");
        }
Exemplo n.º 9
0
        /// <summary>
        /// 处理重置密码的请求,并返回处理结果
        /// </summary>
        /// <param name="boVM"></param>
        /// <returns></returns>
        public async Task <IActionResult> SaveResetUserPassword([Bind("Id,Password,ConfirmPassword")] ApplicationUserResetPasswordVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                var user = await _UserManager.FindByIdAsync(boVM.Id);

                // 获取重置密码的令牌
                string resetToken = await _UserManager.GeneratePasswordResetTokenAsync(user);

                // 重置密码
                await _UserManager.ResetPasswordAsync(user, resetToken, boVM.Password);

                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "",
                    Message        = "密码重置成功,请关闭对话框。"
                });

                return(Json(validateMessage));
            }
            else
            {
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });
                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.Nr))
            {
                msg.Contents.Add("员工号不可空");
            }

            //if (string.IsNullOrEmpty(this.Id))
            //{
            //    msg.Contents.Add("身份证号码不可空");
            //}

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 11
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString, User user)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.name))
            {
                msg.Contents.Add("收货人姓名不可空");
            }

            if (!this.shipDateTime.HasValue)
            {
                msg.Contents.Add("发货日期不可空");
            }

            if (!this.shipAmount.HasValue)
            {
                msg.Contents.Add("发货数量不可空");
            }

            if (string.IsNullOrWhiteSpace(unit))
            {
                msg.Contents.Add("单位不可空");
            }

            if (!this.startDateTime.HasValue)
            {
                msg.Contents.Add("开始时间错误");
            }

            if (!this.endDateTime.HasValue)
            {
                msg.Contents.Add("结束时间错误");
            }

            if (string.IsNullOrWhiteSpace(brand))
            {
                msg.Contents.Add("品名不可为空");
            }

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 12
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.DateAtStr))
            {
                msg.Contents.Add("日期不可空");
            }

            if (!DateAt.HasValue)
            {
                msg.Contents.Add("日期格式不正确");
            }

            IWorkAndRestService wrs = new WorkAndRestService(dbString);
            bool HasExist           = wrs.HasDateAtExist(DateAt);

            if (!HasExist)
            {
                msg.Contents.Add("日期已经存在, 请进行编辑");
            }

            if (string.IsNullOrEmpty(this.DateTypeStr))
            {
                msg.Contents.Add("类型不可空");
            }

            if (!DateType.HasValue)
            {
                msg.Contents.Add("类型不正确,只能为(法定假日/调休日/节假日)、(公休日/双休日)、(工作日)");
            }

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 13
0
        public async Task <IActionResult> Register([Bind("ID,IsNew,RoleItemIDCollection,UserName,Name,MobileNumber,EMail,Password,ConfirmPassword,Description")] ApplicationUserVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                // 检查重名
                var isNewUser = await _UserManager.FindByNameAsync(boVM.UserName);


                if (_HasTheSameUser(boVM.UserName))
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false,
                        MessageName    = "UserName",
                        Message        = "用户选择的用户名已经被使用了"
                    });
                    return(Json(validateMessage));
                }


                var user = new ApplicationUser(boVM.UserName)
                {
                    FirstName       = "",
                    ChineseFullName = boVM.Name,
                    Email           = boVM.EMail,
                    MobileNumber    = boVM.MobileNumber
                };

                var a1 = await _UserManager.CreateAsync(user);

                var a2 = await _UserManager.AddPasswordAsync(user, boVM.Password);        // 添加密码

                //var roleItem = await _RoleManager.FindByNameAsync("Admin");

                //if (roleItem != null)
                //{
                //    await _UserManager.AddToRoleAsync(user, roleItem.Name);
                //}
                //var a3 = await _UserManager.AddToRoleAsync(user, "AverageUser");    // 加入到 AverageUser 角色组

                var roleAverageUser = await _RoleManager.FindByNameAsync("AverageUser");

                if (roleAverageUser != null)
                {
                    await _UserManager.AddToRoleAsync(user, roleAverageUser.Name);  // 将用户添加到相应的用户组内
                }


                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "Succeed",
                    Message        = ""
                });

                return(Json(validateMessage));
            }
            else
            {
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }

            #region 早期的代码
            //var userVM = Newtonsoft.Json.JsonConvert.DeserializeObject<ApplicationUserVM>(jsonRegisterInformation);
            //var user = await _UserManager.FindByNameAsync(userVM.UserName);
            //if (user == null)
            //{
            //    user = new ApplicationUser(userVM.UserName);
            //    user.FirstName = "";
            //    user.ChineseFullName = userVM.Name;
            //    user.Email = userVM.EMail;
            //    user.MobileNumber = userVM.MobileNumber;
            //    var a1 = await _UserManager.CreateAsync(user);
            //    var a2 = await _UserManager.AddPasswordAsync(user, userVM.Password);        // 添加密码
            //    /*var a3 = await _UserManager.AddToRoleAsync(user, "AverageUser");  */  // 加入到 AverageUser 角色组
            //    //var a3 = await _UserManager.AddToRoleAsync(user, "RegisterReadersRole");    // 加入到 RegisterReadersRole 角色组
            //    return Json(new { result = true, message = "注册成功,恭喜您成为食刻中的一员,祝您购物愉快!" });
            //}
            //else
            //{
            //    return Json(new { result = false, message = "已经存在相同用户名的用户,请另外选择一个用户名。" });
            //}

            #endregion
        }
Exemplo n.º 14
0
        public async Task <IActionResult> SaveSettled([Bind("ID,IsNew,Step,Name,Address,UserName,IDCar,MobilePhone,Telephone,LicenceID")] SK_WM_ShopSttledVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                var username = User.Identity.Name;
                var user     = await _UserManager.FindByNameAsync(username);

                var hasDuplicateNameShop = await _ShopSelltedRepository.HasInstanceAsyn(x => x.Name == boVM.Name);

                if (hasDuplicateNameShop && boVM.IsNew)
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "Name", Message = "已经有店铺叫这个名了,换一个试试看吧"
                    });
                    return(Json(validateMessage));
                }

                var bo = new SK_WM_ShopSttled();
                bo.ID = boVM.ID;
                if (!boVM.IsNew)
                {
                    bo = await _ShopSelltedRepository.GetSingleAsyn(boVM.ID);
                }

                // 处理一般的属性数据
                boVM.MapToShop(bo);

                var saveStatus = false;

                //处理上传文件
                var  serverPath     = "";
                long size           = 0;
                var  files          = Request.Form.Files;
                var  boImg          = _ImageRepository.GetAll().Where(x => x.RelevanceObjectID == bo.ID);
                var  FrontIDCarimg  = boImg.Where(x => x.Description == "FrontIDCar").FirstOrDefault();
                var  backIDCarimg   = boImg.Where(x => x.Description == "BackIDCar").FirstOrDefault();
                var  Environmentimg = boImg.Where(x => x.Description == "Environment").FirstOrDefault();
                var  Licenceimg     = boImg.Where(x => x.Description == "Licence").FirstOrDefault();

                var fName = files.Where(x => x.Name == "FrontIDCar").FirstOrDefault();
                var bName = files.Where(x => x.Name == "BackIDCar").FirstOrDefault();
                var eName = files.Where(x => x.Name == "Environment").FirstOrDefault();
                var lName = files.Where(x => x.Name == "Environment").FirstOrDefault();

                if (boVM.IsNew == false)
                {
                    if (/*(backIDCarimg == null || FrontIDCarimg == null)&& */ (fName == null || bName == null) && boVM.Step == 1)
                    {
                        validateMessage.IsOK = false;
                        validateMessage.ValidateMessageItems.Add(
                            new ValidateMessageItem()
                        {
                            IsPropertyName = false, MessageName = "IdImg", Message = "请将身份信息补充完整再执行下一步"
                        });
                        return(Json(validateMessage));
                    }
                    if (/*(backIDCarimg != null || FrontIDCarimg != null)*//*&&(Environmentimg == null || Licenceimg == null) && */ (eName == null || lName == null) && (fName != null || bName != null) && boVM.Step == 2)
                    {
                        validateMessage.IsOK = false;
                        validateMessage.ValidateMessageItems.Add(
                            new ValidateMessageItem()
                        {
                            IsPropertyName = false, MessageName = "SettledImg", Message = "请将店铺信息补充完整再执行下一步"
                        });
                        return(Json(validateMessage));
                    }
                }
                if (files.Count() > 0)
                {
                    foreach (var file in files)
                    {
                        var fileName = ContentDispositionHeaderValue
                                       .Parse(file.ContentDisposition)
                                       .FileName
                                       .Trim('"')
                                       .Substring(files[0].FileName.LastIndexOf("\\") + 1);

                        fileName = bo.ID + "_" + fileName;

                        var boPath = "../../images/ShopSettledImg/" + fileName;
                        fileName   = _HostingEnv.WebRootPath + $@"\images\ShopSettledImg\{fileName}";
                        serverPath = fileName;
                        size      += file.Length;
                        using (FileStream fs = System.IO.File.Create(fileName))
                        {
                            file.CopyTo(fs);
                            fs.Flush();
                        }

                        var businessIamge = new BusinessImage()
                        {
                            DisplayName       = bo.Name,
                            RelevanceObjectID = bo.ID,
                            UploadPath        = boPath,

                            Description = file.Name
                        };

                        if (file.Name == "Licence")
                        {
                            bo.Licence    = businessIamge;
                            ViewBag.LiImg = businessIamge.UploadPath;
                        }
                        else if (file.Name == "Environment")
                        {
                            bo.Environment = businessIamge;
                            ViewBag.EnIMg  = businessIamge.UploadPath;
                        }
                        else if (file.Name == "BackIDCar")
                        {
                            if (backIDCarimg == null)
                            {
                                bo.BackIDCar  = businessIamge;
                                ViewBag.BaImg = businessIamge.UploadPath;
                            }
                            else
                            {
                                backIDCarimg.UploadPath = businessIamge.UploadPath;
                                bo.BackIDCar            = backIDCarimg;
                                ViewBag.BaImg           = backIDCarimg.UploadPath;
                            }
                        }
                        else if (file.Name == "FrontIDCar")
                        {
                            if (FrontIDCarimg == null)
                            {
                                bo.FrontIDCar = businessIamge;
                                ViewBag.FCimg = businessIamge.UploadPath;
                            }
                            else
                            {
                                FrontIDCarimg.UploadPath = businessIamge.UploadPath;
                                bo.FrontIDCar            = FrontIDCarimg;
                                ViewBag.FCimg            = FrontIDCarimg.UploadPath;
                            }
                        }
                    }
                }

                bo.ShopForUser    = user;
                bo.BelongToUserID = user.Id;
                saveStatus        = await _ShopSelltedRepository.AddOrEditAndSaveAsyn(bo);

                if (saveStatus)
                {
                    validateMessage.IsOK = true;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem
                    {
                        IsPropertyName = false,
                        MessageName    = "Succeed",
                        Message        = ""
                    });

                    return(Json(validateMessage));
                }
                else
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "RemoteErr", Message = "数据保存异常"
                    });
                    return(Json(validateMessage));
                }
            }
            else
            {
                //return View("../../Views/BusinessOrganization/BusinessBG/CreateOrEdit", boVM);
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.DepartmentName))
            {
                msg.Contents.Add("机构名称不可空");
            }

            if (string.IsNullOrEmpty(this.StaffNr))
            {
                msg.Contents.Add("人员编号不可空");
            }
            else
            {
                Staff staff = new StaffService(dbString).FindByNr(this.StaffNr);
                if (staff == null)
                {
                    msg.Contents.Add("人员编号不存在");
                }
                else
                {
                    AttendanceRecordDetail detail = new AttendanceRecordDetailService(dbString).FindDetailByStaffAndRecordAt(this.StaffNr, this.RecordAt.Value);
                    if (detail != null)
                    {
                        msg.Contents.Add("打卡记录已存在,不可重复导入");
                    }
                }
            }

            if (string.IsNullOrEmpty(this.RecordAtDateStr))
            {
                msg.Contents.Add("刷卡日期不可空");
            }
            else
            {
                DateTime dt = DateTime.Now;
                if (DateTime.TryParse(this.RecordAtDateStr, out dt))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("刷卡日期格式错误");
                }
            }


            if (string.IsNullOrEmpty(this.RecordAtTimeStr))
            {
                msg.Contents.Add("刷卡时间不可空");
            }
            else
            {
                TimeSpan ts = DateTime.Now.TimeOfDay;
                if (TimeSpan.TryParse(this.RecordAtTimeStr, out ts))
                {
                    //   this.RecordAtTime = ts;
                }
                else
                {
                    msg.Contents.Add("刷卡时间格式错误");
                }
            }

            if (string.IsNullOrEmpty(this.Device))
            {
                msg.Contents.Add("设备编号不可空");
            }

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 16
0
        /// <summary>
        /// 保存用户资料
        /// </summary>
        /// <param name="boVM">用户的视图模型</param>
        /// <returns></returns>
        public async Task <IActionResult> SaveEditApplicationUser([Bind("Id,RoleId,IsNew,RoleItemIdCollection,UserName,Name,MobileNumber,EMail,Password,ConfirmPassword,Description")] ApplicationUserForEditVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                if (boVM.RoleItemIdCollection == null)
                {
                    boVM.RoleItemIdCollection = new List <string>();
                }
                var user = await _UserManager.FindByIdAsync(boVM.Id.ToString());

                #region 1.用户基本资料更新
                user.FirstName       = "";
                user.ChineseFullName = boVM.Name;
                user.Email           = boVM.EMail;
                user.MobileNumber    = boVM.MobileNumber;
                await _UserManager.UpdateAsync(user);

                #endregion

                #region 2.归属角色组的处理
                var roleCollection = _RoleManager.Roles;
                var addRoles       = new List <string>();
                var removeRoles    = new List <string>();
                foreach (var roleItem in roleCollection)
                {
                    // 当前的用户是否归属角色组:roleItem
                    var h = await _UserManager.IsInRoleAsync(user, roleItem.Name);

                    if (!h)
                    {
                        // 不归属,但前端已经选择了相应的角色组,则将当前用户加入相应的角色组。
                        if (boVM.RoleItemIdCollection.Contains(roleItem.Id))
                        {
                            addRoles.Add(roleItem.Name);
                        }
                    }
                    else
                    {
                        // 归属,但前端并未选择相应的角色组,则将当前用户从相关的组中移除。
                        if (!boVM.RoleItemIdCollection.Contains(roleItem.Id))
                        {
                            removeRoles.Add(roleItem.Name);
                        }
                    }
                }
                await _UserManager.AddToRolesAsync(user, addRoles);

                await _UserManager.RemoveFromRolesAsync(user, removeRoles);

                #endregion
                var resultRoleId = "";
                if (boVM.RoleId.ToString() != "00000000-0000-0000-0000-000000000000")
                {
                    resultRoleId = boVM.RoleId.ToString();
                }
                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "",
                    Message        = resultRoleId
                });

                return(Json(validateMessage));
            }
            else
            {
                #region 处理用户归属的用户组的数据
                #region 1.待选择的用户组数据
                var user = await _UserManager.FindByIdAsync(boVM.Id.ToString());

                var role      = _RoleManager.Roles;
                var roleItems = new List <PlainFacadeItem>();
                foreach (var item in _RoleManager.Roles.OrderBy(x => x.SortCode))
                {
                    var rItem = new PlainFacadeItem()
                    {
                        Id = item.Id, Name = item.Name, DisplayName = item.DisplayName, SortCode = item.SortCode
                    };
                    roleItems.Add(rItem);
                }
                boVM.RoleItemColection = roleItems;
                #endregion
                #region 2.已经归属的用户组部分
                boVM.RoleItemIdCollection = (
                    from roleItem in _RoleManager.Roles
                    where roleItem.Users.Select(x => x.UserId).Contains(user.Id)
                    select roleItem.Id
                    ).ToList();;

                #endregion
                #endregion

                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });
                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
Exemplo n.º 17
0
        public HttpResponseMessage validate([FromBody] string sourc, string messa, int userid)
        {
            string salt = _userService.FindUser(userid).PasswordSalt.ToString(); //查找用户密钥

            return(ValidateMessage.validate(sourc, messa, salt));                //验证短信验证码
        }
Exemplo n.º 18
0
        /// <summary>
        /// 保存新建用户数据处理部分
        /// </summary>
        /// <param name="boVM">用户视图模型的实例</param>
        /// <returns></returns>
        public async Task <IActionResult> SaveCreateApplicationUser([Bind("ID,IsNew,RoleItemIDCollection,UserName,Name,MobileNumber,EMail,Password,ConfirmPassword,Description")] ApplicationUserVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                // 检查重名
                var isNewUser = await _UserManager.FindByNameAsync(boVM.UserName);

                if (_HasTheSameUser(boVM.UserName))
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "RemoteErr", Message = "用户选择的用户名已经被使用了"
                    });
                    return(Json(validateMessage));
                }

                #region 新增用户的常规处理
                var user = new ApplicationUser(boVM.UserName)
                {
                    FirstName       = "",
                    ChineseFullName = boVM.Name,
                    Email           = boVM.EMail,
                    MobileNumber    = boVM.MobileNumber
                };
                await _UserManager.CreateAsync(user);

                await _UserManager.AddPasswordAsync(user, boVM.Password);  // 添加密码

                var roleItem = await _RoleManager.FindByNameAsync("Adimn");

                foreach (var item in boVM.RoleItemIDCollection)             // 遍历所选择的用户组的ID集合,加入到相关的角色组
                {
                    var role = await _RoleManager.FindByIdAsync(item);

                    if (role != null)
                    {
                        await _UserManager.AddToRoleAsync(user, role.Name);
                    }
                }
                #endregion

                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "Succeed",
                    Message        = ""
                });

                return(Json(validateMessage));
            }
            else
            {
                #region 1.待选择的用户组数据
                var user = await _UserManager.FindByIdAsync(boVM.ID.ToString());

                var role      = _RoleManager.Roles;
                var roleItems = new List <PlainFacadeItem>();
                foreach (var item in _RoleManager.Roles.OrderBy(x => x.SortCode))
                {
                    var rItem = new PlainFacadeItem()
                    {
                        ID = item.Id, Name = item.Name, DisplayName = item.DisplayName, SortCode = item.SortCode
                    };
                    roleItems.Add(rItem);
                }
                boVM.RoleItemColection = roleItems;
                #endregion

                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// 保存新建用户数据处理部分
        /// </summary>
        /// <param name="boVM">用户视图模型的实例</param>
        /// <returns></returns>
        public async Task <IActionResult> SaveCreateApplicationUser([Bind("Id,IsNew,RoleItemIdCollection,UserName,Name,MobileNumber,EMail,Password,ConfirmPassword,Description")] ApplicationUserVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                // 检查重名
                var isNewUser = await _UserManager.FindByNameAsync(boVM.UserName);

                if (_HasTheSameUser(boVM.UserName))
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = true, MessageName = "UserName", Message = "用户选择的用户名已经被使用了。"
                    });
                    return(Json(validateMessage));
                }

                #region 新增用户的常规处理
                var user = new ApplicationUser(boVM.UserName)
                {
                    FirstName       = "",
                    ChineseFullName = boVM.Name,
                    Email           = boVM.EMail,
                    MobileNumber    = boVM.MobileNumber
                };

                // 校验密码强度
                var passwordValidator = new Microsoft.AspNetCore.Identity.PasswordValidator <ApplicationUser>();
                var result            = await passwordValidator.ValidateAsync(_UserManager, user, boVM.Password);

                if (!result.Succeeded)
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = true, MessageName = "Password", Message = "您输入的密码强度未满足要求:密码长度大于6个字符,且必须包含数字、大写字母、小写字母和非字母字符如 @ 。"
                    });
                    return(Json(validateMessage));
                }

                await _UserManager.CreateAsync(user);

                await _UserManager.AddPasswordAsync(user, boVM.Password);  // 添加密码

                if (boVM.RoleItemIdCollection != null)
                {
                    foreach (var item in boVM.RoleItemIdCollection)             // 遍历所选择的用户组的Id集合,加入到相关的角色组
                    {
                        var role = await _RoleManager.FindByIdAsync(item);

                        if (role != null)
                        {
                            await _UserManager.AddToRoleAsync(user, role.Name);  // 将用户添加到相应的用户组内
                        }
                    }
                }
                #endregion

                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "Succeed",
                    Message        = ""
                });

                return(Json(validateMessage));   // 返回处理结果
            }
            else
            {
                #region 1.待选择的用户组数据
                var user = await _UserManager.FindByIdAsync(boVM.Id.ToString());

                var role      = _RoleManager.Roles;
                var roleItems = new List <PlainFacadeItem>();
                foreach (var item in _RoleManager.Roles.OrderBy(x => x.SortCode))
                {
                    var rItem = new PlainFacadeItem()
                    {
                        Id = item.Id, Name = item.Name, DisplayName = item.DisplayName, SortCode = item.SortCode
                    };
                    roleItems.Add(rItem);
                }
                boVM.RoleItemColection = roleItems;
                #endregion

                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();

            if (string.IsNullOrEmpty(this.OtTimeStr))
            {
                msg.Contents.Add("日期不可空");
            }
            else
            {
                DateTime dt = DateTime.Now;
                if (DateTime.TryParse(this.OtTimeStr, out dt))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("日期格式错误");
                }
            }

            if (string.IsNullOrEmpty(this.StartHourStr))
            {
                msg.Contents.Add("开始时间不可空");
            }
            else
            {
                TimeSpan ts = DateTime.Now.TimeOfDay;
                if (TimeSpan.TryParse(this.StartHourStr, out ts))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("开始时间格式错误");
                }
            }

            if (string.IsNullOrEmpty(this.EndHourStr))
            {
                msg.Contents.Add("结束时间不可空");
            }
            else
            {
                TimeSpan ts = DateTime.Now.TimeOfDay;
                if (TimeSpan.TryParse(this.EndHourStr, out ts))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("结束时间格式错误");
                }
            }

            if (string.IsNullOrEmpty(this.OtTimeStr))
            {
                msg.Contents.Add("日期不可空");
            }
            else
            {
                DateTime dt = DateTime.Now;
                if (DateTime.TryParse(this.OtTimeStr, out dt))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("日期格式错误");
                }
            }
            if (string.IsNullOrEmpty(this.StaffNr))
            {
                msg.Contents.Add("工号");
            }
            else
            {
                BlueHrLib.Data.Staff staff = new StaffService(dbString).FindByNr(this.StaffNr);
                if (staff == null)
                {
                    msg.Contents.Add("人员编号不存在");
                }
            }

            if (string.IsNullOrEmpty(this.ExtraWorkTypeStr))
            {
                msg.Contents.Add("加班类别不可空");
            }
            else
            {
                IExtraWorkTypeService si    = new ExtraWorkTypeService(dbString);
                List <ExtraWorkType>  absTs = si.All();

                bool hasExists = absTs.Where(p => p.name.Equals(this.ExtraWorkTypeStr)).ToList().Count() > 0;

                if (!hasExists)
                {
                    msg.Contents.Add("加班类别不存在");
                }
                else
                {
                    ExtraWorkType abs = absTs.Where(p => p.name.Equals(this.ExtraWorkTypeStr)).FirstOrDefault();
                    this.ExtraWorkTypeId = abs.id;
                }
            }

            //if (string.IsNullOrEmpty(this.DurationTypeStr))
            //{
            //    msg.Contents.Add("时间单位不可空");
            //}
            //else
            //{
            //    bool isVal = DurationTypeStr != "Hour" || DurationTypeStr != "Day";

            //    if (!isVal)
            //    {
            //        msg.Contents.Add("时间单位不存在");
            //    }
            //    else
            //    {
            //        if (DurationTypeStr == "天" || DurationTypeStr == "Day")
            //        {
            //            DurationType = (int)BlueHrLib.Data.Enum.DurationType.Day;
            //        }

            //        if (DurationTypeStr == "小时" || DurationTypeStr == "Hour")
            //        {
            //            DurationType = (int)BlueHrLib.Data.Enum.DurationType.Hour;
            //        }
            //    }
            //}

            //if (string.IsNullOrEmpty(Remark))
            //{
            //    msg.Contents.Add("缺勤原因不可空");
            //}

            if (string.IsNullOrEmpty(this.Duration))
            {
                msg.Contents.Add("缺勤小时不可空");
            }

            //if (msg.Contents.Count == 0)
            //{
            //    if (this.ScheduleAt.HasValue)
            //    {
            //        IShiftScheduleService ss = new ShiftSheduleService(dbString);

            //        if (ss.IsDup(new ShiftSchedule() { id = 0, scheduleAt = this.ScheduleAt.Value, shiftId = this.Shift.id, staffNr = this.StaffNr }))
            //        {
            //            msg.Contents.Add("排班记录已存在,不可重复导入");
            //        }
            //    }
            //}

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 21
0
        private List <ValidateMessage> ConvertToMessage(string code = null)
        {
            try
            {
                List <ValidateMessage> msgLst = new List <ValidateMessage>();

                foreach (ModelState ms in this._iValidatorUtil.ModelState.Values)
                {
                    foreach (ModelError mErr in ms.Errors)
                    {
                        string mTxt = mErr.ErrorMessage;
                        if (mTxt == null)
                        {
                            continue;
                        }

                        string[] mspTxt = mTxt.Split(SPLIT_TEMPLATE_MESSAGE.ToCharArray());
                        if (mspTxt.Length < 4)
                        {
                            continue;
                        }

                        if (code != null)
                        {
                            if (code != mspTxt[3])
                            {
                                continue;
                            }
                        }

                        ValidateMessage msg = null;
                        if (msgLst == null)
                        {
                            msgLst = new List <ValidateMessage>();
                        }
                        foreach (ValidateMessage m in msgLst)
                        {
                            if (m.Controller == mspTxt[0] &&
                                m.Screen == mspTxt[1] &&
                                m.Module == mspTxt[2] &&
                                m.Code == mspTxt[3])
                            {
                                msg = m;
                                break;
                            }
                        }
                        if (msg == null)
                        {
                            msg            = new ValidateMessage();
                            msg.Controller = mspTxt[0];
                            msg.Screen     = mspTxt[1];
                            msg.Module     = mspTxt[2];
                            msg.Code       = mspTxt[3];
                            msgLst.Add(msg);
                        }
                        if (mspTxt.Length > 4)
                        {
                            //if (msg.Params == null)
                            //    msg.Params = new List<string>();
                            //if (msg.Params.Contains(mspTxt[4]) == false)
                            //    msg.Params.Add(mspTxt[4]);

                            int    order = 0;
                            string param = string.Empty;

                            if (mspTxt.Length > 5)
                            {
                                if (msg.Controls == null)
                                {
                                    msg.Controls = new List <string>();
                                }
                                if (msg.Controls.Contains(mspTxt[5]) == false)
                                {
                                    string[] ctrls = mspTxt[5].Split(",".ToCharArray());
                                    foreach (string ctrl in ctrls)
                                    {
                                        msg.Controls.Add(ctrl.Trim());
                                    }
                                }
                            }
                            if (mspTxt.Length > 6)
                            {
                                int.TryParse(mspTxt[6], out order);
                            }

                            msg.SetParameter(order, mspTxt[4]);
                        }
                    }
                }

                return(msgLst);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 22
0
        public HttpResponseMessage SendMessage([FromBody] string phone, int userid)
        {
            string salt = _userService.FindUser(userid).PasswordSalt.ToString(); //查找用户密钥

            return(ValidateMessage.SendMessage6(phone, salt));                   //发送短信验证码
        }
Exemplo n.º 23
0
        private void ValidateAtLeast1Field(object obj)
        {
            try
            {
                List <ValidateMessage> msgLst = new List <ValidateMessage>();
                Dictionary <string, AtLeast1FieldNotNullOrEmptyAttribute> langAttr =
                    CommonUtil.CreateAttributeDictionary <AtLeast1FieldNotNullOrEmptyAttribute>(obj);
                foreach (KeyValuePair <string, AtLeast1FieldNotNullOrEmptyAttribute> attr in langAttr)
                {
                    ValidateMessage nm = null;
                    foreach (ValidateMessage m in msgLst)
                    {
                        if (m.Controller == attr.Value.Controller &&
                            m.Screen == attr.Value.Screen &&
                            m.Module == attr.Value.Module &&
                            m.Code == attr.Value.MessageCode.ToString())
                        {
                            nm = m;
                            break;
                        }
                    }
                    if (nm == null)
                    {
                        nm = new ValidateMessage()
                        {
                            Controller = attr.Value.Controller,
                            Screen     = attr.Value.Screen,
                            Module     = attr.Value.Module,
                            Code       = attr.Value.MessageCode.ToString(),

                            HasNullValue = true
                        };
                        msgLst.Add(nm);
                    }
                    if (nm.HasNullValue == false)
                    {
                        continue;
                    }

                    PropertyInfo prop = obj.GetType().GetProperty(attr.Key);
                    if (prop != null)
                    {
                        object val = prop.GetValue(obj, null);
                        if (CommonUtil.IsNullOrEmpty(val) == false)
                        {
                            nm.HasNullValue = false;
                            nm.ClearParameter();
                        }
                        else if (attr.Value.UseControl == true)
                        {
                            nm.SetParameter(0, CommonUtil.IsNullOrEmpty(attr.Value.ControlName) ? attr.Key : attr.Value.ControlName);
                        }
                    }
                }
                if (msgLst.Count > 0)
                {
                    foreach (ValidateMessage msg in msgLst)
                    {
                        if (msg.HasNullValue == true)
                        {
                            MessageUtil.MessageList msgCode;
                            if (Enum.TryParse <MessageUtil.MessageList>(msg.Code, out msgCode))
                            {
                                string template = CommonUtil.TextList(msg.Params == null? null : msg.Params.ToArray());
                                this.AddErrorMessage(msg.Controller, msg.Screen, msg.Module, msgCode, obj.GetHashCode().ToString(), "", template);
                                this.IsValid = false;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
 public ModelValidateException(ModelStateDictionary modelState) : this()
 {
     modelState.SelectMany(m => m.Value.Errors.Select(me =>
                                                      new KeyValuePair <string, ModelErrorItem>(m.Key, new ModelErrorItem(me.Exception, me.ErrorMessage)))).ToList()
     .ForEach(x => ValidateMessage.Add(x));
 }
 public ModelValidateException(string key, ModelErrorItem modelError) : this()
 {
     ValidateMessage.Add(new KeyValuePair <string, ModelErrorItem>(key, modelError));
 }
Exemplo n.º 26
0
        /// <summary>
        /// 普通读者用户资料注册管理
        /// </summary>
        /// <param name="jsonRegisetrInformation"></param>
        /// <returns></returns>
        public async Task <IActionResult> Register(string jsonRegisterInformation)
        {
            var validateMessage = new ValidateMessage();
            var loUser          = Newtonsoft.Json.JsonConvert.DeserializeObject <LogonInformation>(jsonRegisterInformation);//获取前端数据放到用户视图模型里边

            if (loUser.ConfirmPassword != loUser.Password)
            {
                validateMessage.IsOK = false;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "Succeed",
                    Message        = "密码和确认密码不一致",
                });
                return(Json(validateMessage));
            }
            if (ModelState.IsValid)
            {
                var isNewUser = await _userManager.FindByNameAsync(loUser.UserName);

                if (isNewUser != null)
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem
                    {
                        IsPropertyName = false,
                        MessageName    = "Succeed",
                        Message        = "登录名重复",
                    });
                    return(Json(validateMessage));
                }
                var user = new ApplicationUser()
                {
                    Name               = loUser.UserName,
                    UserName           = loUser.UserName,
                    TwoFactorEnabled   = true,
                    Email              = loUser.Email,
                    NormalizedUserName = loUser.UserName,
                    SecurityStamp      = Guid.NewGuid().ToString(),
                    Avatar             = await _businessImageExtension.GetAll().Where(x => x.Name == "头像" && x.IsSystem).FirstOrDefaultAsync(),
                    RegisterTime       = DateTime.Now,
                    Power              = AnJurisdiction.Ordinary,
                };
                _userExtension.Add(user);
                user.PasswordHash = new PasswordHasher <ApplicationUser>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(user, loUser.Password);
                await _userExtension.SaveAsyn();

                validateMessage.IsOK = true;
                validateMessage.ValidateMessageItems.Add(
                    new ValidateMessageItem
                {
                    IsPropertyName = false,
                    MessageName    = "Succeed",
                    Message        = "注册成功,请登录"
                });

                return(Json(validateMessage));
            }
            else
            {
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }
 public ModelValidateException(string key, string message) : this()
 {
     ValidateMessage.Add(new KeyValuePair <string, ModelErrorItem>(key, new ModelErrorItem(null, message)));
 }
    public ValidateMessage getValidation()
    {
        ValidateMessage message = new ValidateMessage();

        if (GlobalGui.isBlank(sFirstName))
        {
            message.sMessage = "Du må oppgi fornavn";
            message.bOK = false;
        }
        else if (GlobalGui.isBlank(sLastName))
        {
            message.sMessage = "Du må oppgi etternavn";
            message.bOK = false;
        }
        else if (GlobalGui.isBlank(sMailAddress))
        {
            message.sMessage = "Du må oppgi ePost adresse";
            message.bOK = false;
        }
        else if (GlobalGui.isBlank(sLastName))
        {
            message.sMessage = "Du må oppgi telefonnummer";
            message.bOK = false;
        }
        else
        {
            message.bOK = true;
        }
        return message;
    }
Exemplo n.º 29
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dbString"></param>
        public void Validate(string dbString)
        {
            ValidateMessage msg = new ValidateMessage();



            if (string.IsNullOrEmpty(this.StaffNr))
            {
                msg.Contents.Add("人员编号不可空");
            }
            else
            {
                Staff staff = new StaffService(dbString).FindByNr(this.StaffNr);
                if (staff == null)
                {
                    msg.Contents.Add("人员编号不存在");
                }
            }

            if (string.IsNullOrEmpty(this.ScheduleAtDateStr))
            {
                msg.Contents.Add("日期不可空");
            }
            else
            {
                DateTime dt = DateTime.Now;
                if (DateTime.TryParse(this.ScheduleAtDateStr, out dt))
                {
                    //this.RecordAtDate = dt;
                }
                else
                {
                    msg.Contents.Add("日期格式错误");
                }
            }



            if (string.IsNullOrEmpty(this.ShiftCode))
            {
                msg.Contents.Add("班次号不可空");
            }
            else
            {
                IShiftService ss = new ShiftService(dbString);
                Shift         r  = ss.FindByCode(this.ShiftCode);
                if (r == null)
                {
                    msg.Contents.Add("班次号不存在");
                }
                else
                {
                    this.Shift = r;
                }
            }

            if (msg.Contents.Count == 0)
            {
                if (this.ScheduleAt.HasValue)
                {
                    IShiftScheduleService ss = new ShiftSheduleService(dbString);

                    if (ss.IsDup(new ShiftSchedule()
                    {
                        id = 0, scheduleAt = this.ScheduleAt.Value, shiftId = this.Shift.id, staffNr = this.StaffNr
                    }))
                    {
                        msg.Contents.Add("排班记录已存在,不可重复导入");
                    }
                }
            }

            msg.Success = msg.Contents.Count == 0;

            this.ValidateMessage = msg;
        }
Exemplo n.º 30
0
        public async Task <IActionResult> Save([Bind("ID,IsNew,Name,GoodsCategoryID,Description,SortCode,ShelvesTime,ModifyTime,Price,FacadePrice,Unit,SalesVolume,Stock,State")] SK_WM_GoodsVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                var username = User.Identity.Name;
                var user     = await _UserManager.FindByNameAsync(username);

                var shop = await _ShopRepository.FindByAsyn(x => x.BelongToUserID == user.Id);

                var hasDuplicateNmaeGoods = await _BoRepository.HasInstanceAsyn(x => x.Name == boVM.Name);

                if (hasDuplicateNmaeGoods && boVM.IsNew)
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "Name", Message = "商品名重复,换一个试试看吧"
                    });
                    return(Json(validateMessage));
                }

                var bo = new SK_WM_Goods();
                if (!boVM.IsNew)
                {
                    bo = await _BoRepository.GetSingleAsyn(boVM.ID);

                    if (bo.BelongToUserID != user.Id)
                    {
                        validateMessage.IsOK = false;
                        validateMessage.ValidateMessageItems.Add(
                            new ValidateMessageItem()
                        {
                            IsPropertyName = false, MessageName = "Name", Message = "该商品不是你的,你没有权限编辑"
                        });
                        return(Json(validateMessage));
                    }
                }

                // 处理一般的属性数据
                boVM.MapToBo(bo);

                // 处理关联数据
                if (!String.IsNullOrEmpty(boVM.GoodsCategoryID))
                {
                    var skwmgclssID = Guid.Parse(boVM.GoodsCategoryID);
                    var skwmgclss   = _BoRepository.EntitiesContext.SK_WM_GoodsCategory.FirstOrDefault(x => x.ID == skwmgclssID);
                    bo.SK_WM_GoodsCategory = skwmgclss;
                }

                var saveStatus = false;

                //处理上传文件
                var  serverPath = "";
                long size       = 0;
                var  files      = Request.Form.Files;

                if (files.Count() > 0)
                {
                    int i = 0;
                    foreach (var file in files)
                    {
                        var fileName = ContentDispositionHeaderValue
                                       .Parse(file.ContentDisposition)
                                       .FileName
                                       .Trim('"')
                                       .Substring(files[0].FileName.LastIndexOf("\\") + 1);

                        fileName = bo.ID + "_" + fileName;

                        var boPath = "../../images/goodsImg/" + fileName;
                        fileName   = _HostingEnv.WebRootPath + $@"\images\goodsImg\{fileName}";
                        serverPath = fileName;
                        size      += file.Length;
                        using (FileStream fs = System.IO.File.Create(fileName))
                        {
                            file.CopyTo(fs);
                            fs.Flush();
                        }

                        var businessIamge = new BusinessImage()
                        {
                            DisplayName       = bo.Name,
                            RelevanceObjectID = bo.ID,
                            UploadPath        = boPath
                        };
                        if (i == 0)
                        {
                            businessIamge.IsForTitle = true;
                        }

                        bo.GoodsIMG = businessIamge;
                        i++;
                        await _ImageRepository.AddOrEditAndSaveAsyn(businessIamge);
                    }
                }

                bo.ShopForUser    = user;
                bo.BelongToUserID = user.Id;
                bo.BelongToShopID = shop.FirstOrDefault().ID.ToString();
                bo.Shop           = shop.FirstOrDefault();
                saveStatus        = await _BoRepository.AddOrEditAndSaveAsyn(bo);

                if (saveStatus)
                {
                    validateMessage.IsOK = true;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem
                    {
                        IsPropertyName = false,
                        MessageName    = "Succeed",
                        Message        = ""
                    });

                    return(Json(validateMessage));
                }
                else
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "RemoteErr", Message = "数据保存异常"
                    });
                    return(Json(validateMessage));
                }
            }
            else
            {
                //return View("../../Views/BusinessOrganization/BusinessBG/CreateOrEdit", boVM);
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }