コード例 #1
0
 public void UpdateVerified(VBRealizationPosition position, string reason, string username, string userAgent)
 {
     Position          = position;
     VerificationDate  = DateTimeOffset.Now;
     VerifiedBy        = username;
     IsVerified        = true;
     NotVerifiedReason = reason;
     this.FlagForUpdate(username, userAgent);
 }
コード例 #2
0
        private void UpdateVBRealizationPosition(int vbRealizationId, VBRealizationPosition position, string reason)
        {
            var model = _dbContext.VBRealizationDocuments.FirstOrDefault(entity => entity.Id == vbRealizationId);

            model.UpdatePosition(position, _identityService.Username, UserAgent);

            if (position == VBRealizationPosition.VerifiedToCashier || position == VBRealizationPosition.NotVerified || position == VBRealizationPosition.Cashier)
            {
                model.UpdateVerified(position, reason, _identityService.Username, UserAgent);
            }
            EntityExtension.FlagForUpdate(model, _identityService.Username, UserAgent);
            _dbContext.VBRealizationDocuments.Update(model);
        }
コード例 #3
0
        private void UpdateVBRealizationPosition(List <int> vbRealizationIds, VBRealizationPosition position, string reason)
        {
            var models = _dbContext.VBRealizationDocuments.Where(entity => vbRealizationIds.Contains(entity.Id)).ToList();

            models.ForEach(model =>
            {
                model.UpdatePosition(position, _identityService.Username, UserAgent);
                if (position == VBRealizationPosition.VerifiedToCashier || position == VBRealizationPosition.NotVerified)
                {
                    model.UpdateVerified(position, reason, _identityService.Username, UserAgent);
                }
                EntityExtension.FlagForUpdate(model, _identityService.Username, UserAgent);
            });
            _dbContext.VBRealizationDocuments.UpdateRange(models);
        }
        public IActionResult Get([FromQuery] int vbId, [FromQuery] int vbRealizationId, [FromQuery] DateTimeOffset?realizationDate, [FromQuery] string vbRealizationRequestPerson, [FromQuery] int unitId, [FromQuery] VBRealizationPosition position = 0, [FromQuery] int page = 1, [FromQuery] int size = 25, [FromQuery] string order = "{}", [FromQuery] string keyword = "")
        {
            try
            {
                VerifyUser();
                var data = _service.Read(page, size, order, keyword, position, vbId, vbRealizationId, realizationDate, vbRealizationRequestPerson, unitId);

                return(Ok(new
                {
                    apiVersion = ApiVersion,
                    data = data.Data,
                    info = new
                    {
                        data.Count
                    },
                    message = General.OK_MESSAGE,
                    statusCode = General.OK_STATUS_CODE
                }));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
コード例 #5
0
 public void UpdatePosition(VBRealizationPosition position, string user, string userAgent)
 {
     Position = position;
     this.FlagForUpdate(user, userAgent);
 }
コード例 #6
0
 public ReadResponse <VBRealizationDocumentExpeditionModel> ReadVerification(int page, int size, string order, string keyword, VBRealizationPosition position, int vbId, int vbRealizationId, DateTimeOffset?realizationDate, string vbRealizationRequestPerson, int unitId)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
        public ReadResponse <VBRealizationDocumentExpeditionModel> ReadVerification(int page, int size, string order, string keyword, VBRealizationPosition position, int vbId, int vbRealizationId, DateTimeOffset?realizationDate, string vbRealizationRequestPerson, int unitId)
        {
            var query = _dbContext.Set <VBRealizationDocumentExpeditionModel>().AsQueryable();

            var idQuery    = query;
            var selectData = idQuery.GroupBy(entity => entity.VBRealizationId)
                             .Select(e => e.OrderByDescending(x => x.Id)
                                     .FirstOrDefault()).ToList();
            var ids = selectData.Select(element => element.Id).ToList();

            query = query.Where(entity => ids.Contains(entity.Id) && (entity.Position == VBRealizationPosition.VerifiedToCashier || entity.Position == VBRealizationPosition.NotVerified));

            if (vbId > 0)
            {
                query = query.Where(entity => entity.VBId == vbId);
            }

            if (vbRealizationId > 0)
            {
                query = query.Where(entity => entity.VBRealizationId == vbRealizationId);
            }

            if (realizationDate.HasValue)
            {
                var date = realizationDate.GetValueOrDefault().AddHours(_identityService.TimezoneOffset * -1);
                query = query.Where(entity => entity.VBRealizationDate.Date == date.Date);
            }

            if (!string.IsNullOrWhiteSpace(vbRealizationRequestPerson))
            {
                query = query.Where(entity => entity.VBRequestName == vbRealizationRequestPerson);
            }

            if (unitId > 0)
            {
                query = query.Where(entity => entity.UnitId == unitId);
            }

            //query = query
            //    .Select(entity => new VBRealizationDocumentExpeditionIndexDto
            //    {
            //        Id = entity.Id,
            //        LastModifiedUtc = entity.LastModifiedUtc,
            //        VBNo = entity.VBNo,
            //        VBRealizationNo = entity.VBRealizationNo,
            //        VBRealizationDate = entity.VBRealizationDate,
            //        VBName = entity.VBRequestName,
            //        UnitId = entity.UnitId,
            //        UnitName = entity.UnitName,
            //        DivisionId = entity.DivisionId,
            //        DivisionName = entity.DivisionName,
            //        Currency

            //    });

            List <string> searchAttributes = new List <string>()
            {
                "VBRealizationNo", "VBRequestName", "UnitName"
            };

            query = QueryHelper <VBRealizationDocumentExpeditionModel> .Search(query, searchAttributes, keyword);

            //var filterDictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(filter);
            //Query = QueryHelper<JournalTransactionModel>.Filter(Query, FilterDictionary);

            var orderDictionary = JsonConvert.DeserializeObject <Dictionary <string, string> >(order);

            query = QueryHelper <VBRealizationDocumentExpeditionModel> .Order(query, orderDictionary);

            var pageable = new Pageable <VBRealizationDocumentExpeditionModel>(query, page - 1, size);
            var data     = pageable.Data.ToList();

            var totalData = pageable.TotalCount;

            return(new ReadResponse <VBRealizationDocumentExpeditionModel>(data, totalData, orderDictionary, new List <string>()));
        }