Exemplo n.º 1
0
        public ActionResult <Edit> ActionResult([FromBody] Edit param)
        {
            if (param == null)
            {
                param          = new Edit();
                param._message = _localizer["No parameters."];
                return(BadRequest(param));
            }

            if (!TryValidateModel(param))
            {
                param._message = _localizer["The input is incorrect."];

                return(BadRequest(param));
            }

            try
            {
                //更新前データを取得する
                var storeModel = (from a in _context.Groups
                                  where a.GroupId.Equals(param.GroupId)
                                  select a).FirstOrDefault();


                if (storeModel == null)
                {
                    param._message = _localizer["It has already been deleted."];
                    return(BadRequest(param));
                }
                if (storeModel.Version != param.Version)
                {
                    param._message = _localizer["Other people have been updated."];
                    return(BadRequest(param));
                }

                ReflectionUtility.Model2Model(param, storeModel);
                storeModel.GroupName = param.GroupName;

                storeModel.Updated  = DateTime.Now;
                storeModel.Version += 1;


                //更新
                _context.Groups.Update(storeModel);

                //検索
                var list = (from a in _context.GroupTusers
                            where a.GroupId.Equals(param.GroupId)
                            select a).ToList();

                _context.GroupTusers.RemoveRange(list);

                //グループユーザを登録する。
                foreach (var user in param.SelectList)
                {
                    if (user.IsSelect)
                    {
                        var gt = new GroupTuser();
                        ReflectionUtility.Model2Model(user, gt);

                        gt.Registed = DateTime.Now;
                        gt.Updated  = DateTime.Now;
                        gt.Version  = 1;

                        _context.GroupTusers.Add(gt);
                    }
                }


                _context.SaveChanges();
                return(Ok(param));
            }
            catch (Exception ex)
            {
                param._message = _localizer["System error Please inform system personnel.({0})", ex.Message];
                return(BadRequest(param));
            }
        }
Exemplo n.º 2
0
        public ActionResult <Create> Insert([FromBody] Create param)
        {
            if (param == null)
            {
                param          = new Create();
                param._message = _localizer["No parameters."];
                return(BadRequest(param));
            }

            if (!TryValidateModel(param))
            {
                param._message = _localizer["The input is incorrect."];

                return(BadRequest(param));
            }

            try
            {
                var storeModel = new Group();
                ReflectionUtility.Model2Model(param, storeModel);
                storeModel.GroupId = Guid.NewGuid().ToString();
                //model.PurchaseDate = ((DateTime)model.PurchaseDate).D;
                //model.ExpirationDate = ((DateTime)model.ExpirationDate).Date;


                //model.SatusId = "stage1";
                //model.Owner = Context.User.Identity.Name;
                //storeModel.Type = "select";
                storeModel.Registed = DateTime.Now;
                storeModel.Updated  = DateTime.Now;
                storeModel.Version  = 1;

                //登録
                _context.Groups.Add(storeModel);

                //グループユーザを登録する。
                foreach (var user in param.SelectList)
                {
                    if (user.IsSelect)
                    {
                        var gt = new GroupTuser();
                        //ReflectionUtility.Model2Model(user, gt);
                        //gt.GroupTuserId = Guid.NewGuid().ToString();

                        gt.GroupId = storeModel.GroupId;
                        gt.TuserId = user.TuserId;

                        gt.Registed = DateTime.Now;
                        gt.Owner    = HttpContext.User.Identity.Name;
                        gt.Updated  = DateTime.Now;
                        gt.Updater  = HttpContext.User.Identity.Name;
                        gt.Version  = 1;

                        _context.GroupTusers.Add(gt);
                    }
                }

                _context.SaveChanges();
                return(Ok(param));
            }
            catch (Exception ex)
            {
                param._message = _localizer["System error Please inform system personnel.({0})", ex.Message];
                return(BadRequest(param));
            }
        }