Ejemplo n.º 1
0
        public DataResult Post_6sGroup([FromBody] _6sGroupItems _6sGroup)
        {
            if (_6sGroup.Group.IsNullOrEmpty())
            {
                return(Result.GenError <DataResult>(Error._6sGroupNotEmpty));
            }
            var cnt =
                ServerConfig.ApiDb.Query <int>("SELECT COUNT(1) FROM `6s_group` WHERE `Group` = @Group AND MarkedDelete = 0;",
                                               new { _6sGroup.Group }).FirstOrDefault();

            if (cnt > 0)
            {
                return(Result.GenError <DataResult>(Error._6sGroupIsExist));
            }

            IEnumerable <_6sItem> _6sItems = null;

            if (_6sGroup.Items != null && _6sGroup.Items.Any())
            {
                _6sItems = _6sGroup.Items;
                if (_6sItems.Any(x => x.Item.IsNullOrEmpty()))
                {
                    return(Result.GenError <DataResult>(Error._6sItemNotEmpty));
                }
                var sameItems = _6sGroup.Items.GroupBy(x => x.Item).Where(y => y.Count() > 1).Select(z => z.Key);
                var result    = new DataResult();
                if (sameItems.Any())
                {
                    result.datas.AddRange(sameItems);
                    return(result);
                }
            }
            var createUserId   = Request.GetIdentityInformation();
            var markedDateTime = DateTime.Now;

            _6sGroup.CreateUserId   = createUserId;
            _6sGroup.MarkedDateTime = markedDateTime;
            _6sGroup.SurveyorId     = _6sGroup.SurveyorId ?? "";
            var id = ServerConfig.ApiDb.Query <int>("INSERT INTO 6s_group (`CreateUserId`, `MarkedDateTime`, `Group`, `SurveyorId`) " +
                                                    "VALUES (@CreateUserId, @MarkedDateTime, @Group, @SurveyorId);SELECT LAST_INSERT_ID();", _6sGroup).FirstOrDefault();

            if (_6sItems != null)
            {
                foreach (var _6sItem in _6sItems)
                {
                    _6sItem.CreateUserId   = createUserId;
                    _6sItem.MarkedDateTime = markedDateTime;
                    _6sItem.GroupId        = id;
                    _6sItem.Reference      = _6sItem.Reference ?? "";
                }
                ServerConfig.ApiDb.Execute(
                    "INSERT INTO 6s_item (`CreateUserId`, `MarkedDateTime`, `Order`, `Item`, `GroupId`, `Enable`, `Standard`, `Reference`, `Interval`, `Day`, `Week`, `Person`) " +
                    "VALUES (@CreateUserId, @MarkedDateTime, @Order, @Item, @GroupId, @Enable, @Standard, @Reference, @Interval, @Day, @Week, @Person);",
                    _6sItems);
            }

            return(Result.GenError <DataResult>(Error.Success));
        }
Ejemplo n.º 2
0
        public Result Put_6sGroup([FromBody] _6sGroupItems _6sGroup)
        {
            if (_6sGroup.Id == 0)
            {
                return(Result.GenError <Result>(Error._6sGroupNotExist));
            }

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

            if (_6sGroup.Group != null || _6sGroup.SurveyorId != null)
            {
                var _6sGroupOld =
                    ServerConfig.ApiDb.Query <_6sGroup>("SELECT * FROM `6s_group` WHERE Id = @Id AND MarkedDelete = 0;",
                                                        new { _6sGroup.Id }).FirstOrDefault();
                if (_6sGroupOld == null)
                {
                    return(Result.GenError <DataResult>(Error._6sGroupNotExist));
                }

                _6sGroup.Group      = _6sGroup.Group ?? _6sGroupOld.Group;
                _6sGroup.SurveyorId = _6sGroup.SurveyorId ?? _6sGroupOld.SurveyorId;

                if (_6sGroup.Group.IsNullOrEmpty())
                {
                    return(Result.GenError <DataResult>(Error._6sGroupNotEmpty));
                }
                if (_6sGroupOld.Group != _6sGroup.Group || _6sGroupOld.SurveyorId != _6sGroup.SurveyorId)
                {
                    _6sGroup.MarkedDateTime = markedDateTime;
                    ServerConfig.ApiDb.Execute(
                        "UPDATE 6s_group SET `MarkedDateTime` = @MarkedDateTime, `Group` = @Group, `SurveyorId` = @SurveyorId WHERE `Id` = @Id;", _6sGroup);
                }
            }

            _6sGroup.Items = _6sGroup.Items ?? new List <_6sItem>();
            var _6sItemsOld = ServerConfig.ApiDb.Query <_6sItem>("SELECT * FROM `6s_item` WHERE GroupId = @Id AND `MarkedDelete` = 0;", new { _6sGroup.Id });
            var _6sItemsAdd = _6sGroup.Items.Where(x => x.Id == 0);

            if (_6sItemsAdd.Any())
            {
                foreach (var _6sItem in _6sItemsAdd)
                {
                    _6sItem.CreateUserId   = createUserId;
                    _6sItem.MarkedDateTime = markedDateTime;
                    _6sItem.GroupId        = _6sGroup.Id;
                    _6sItem.Reference      = _6sItem.Reference ?? "";
                }
                ServerConfig.ApiDb.Execute(
                    "INSERT INTO 6s_item (`CreateUserId`, `MarkedDateTime`, `Order`, `Item`, `GroupId`, `Enable`, `Standard`, `Reference`, `Interval`, `Day`, `Week`, `Person`) " +
                    "VALUES (@CreateUserId, @MarkedDateTime, @Order, @Item, @GroupId, @Enable, @Standard, @Reference, @Interval, @Day, @Week, @Person);",
                    _6sItemsAdd);
            }

            var _6sItemsDel = _6sItemsOld.Where(x => _6sGroup.Items.All(y => y.Id != x.Id));

            if (_6sItemsDel.Any())
            {
                foreach (var _6sItem in _6sItemsDel)
                {
                    _6sItem.MarkedDateTime = markedDateTime;
                    _6sItem.MarkedDelete   = true;
                }

                ServerConfig.ApiDb.Execute("UPDATE 6s_item SET `MarkedDateTime` = @MarkedDateTime, `MarkedDelete` = @MarkedDelete WHERE `Id` = @Id;", _6sItemsDel);
            }

            var _6sItemsUpdate = _6sGroup.Items.Where(x => x.Id != 0 && _6sItemsOld.First(y => y.Id == x.Id).Change(x));

            if (_6sItemsUpdate.Any())
            {
                foreach (var _6sItem in _6sItemsUpdate)
                {
                    _6sItem.MarkedDateTime = markedDateTime;
                }

                ServerConfig.ApiDb.Execute("UPDATE 6s_item SET `MarkedDateTime` = @MarkedDateTime, `Order` = @Order, `Item` = @Item, `Enable` = @Enable, " +
                                           "`Standard` = @Standard, `Reference` = @Reference, `Interval` = @Interval, `Day` = @Day, `Week` = @Week, `Person` = @Person WHERE `Id` = @Id;", _6sItemsUpdate);
            }
            return(Result.GenError <Result>(Error.Success));
        }