예제 #1
0
        public Result PostMaterialCategory([FromBody] IEnumerable <MaterialCategory> categories)
        {
            if (categories == null || !categories.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (categories.Any(x => x.Category.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryNotEmpty));
            }
            if (categories.GroupBy(x => x.Category).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryDuplicate));
            }

            var sames = categories.Select(x => x.Category);

            if (MaterialCategoryHelper.GetHaveSame(sames))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryIsExist));
            }

            var userId         = Request.GetIdentityInformation();
            var markedDateTime = DateTime.Now;

            foreach (var data in categories)
            {
                data.CreateUserId   = userId;
                data.MarkedDateTime = markedDateTime;
                data.Remark         = data.Remark ?? "";
            }
            MaterialCategoryHelper.Instance.Add(categories);
            return(Result.GenError <Result>(Error.Success));
        }
예제 #2
0
        public Result PutMaterialCategory([FromBody] IEnumerable <MaterialCategory> categories)
        {
            if (categories == null || !categories.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (categories.Any(x => x.Category.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryNotEmpty));
            }
            if (categories.GroupBy(x => x.Category).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryDuplicate));
            }

            var sames = categories.Select(x => x.Category);
            var ids   = categories.Select(x => x.Id);

            if (MaterialCategoryHelper.GetHaveSame(sames, ids))
            {
                return(Result.GenError <Result>(Error.MaterialCategoryIsExist));
            }

            var cnt = MaterialCategoryHelper.Instance.GetCountByIds(ids);

            if (cnt != categories.Count())
            {
                return(Result.GenError <Result>(Error.MaterialCategoryNotExist));
            }

            var markedDateTime = DateTime.Now;

            foreach (var data in categories)
            {
                data.MarkedDateTime = markedDateTime;
                data.Remark         = data.Remark ?? "";
            }
            MaterialCategoryHelper.Instance.Update(categories);
            return(Result.GenError <Result>(Error.Success));
        }