Beispiel #1
0
        public async virtual Task <IHttpActionResult> GatherDelivery(string userName, string token, [FromBody] GatherDeliveryModel gatherDeliveryModel)
        {
            var tenantId   = gatherDeliveryModel.TenantId;
            var homeOwerId = gatherDeliveryModel.HomeOwerId;

            base.AuthUser();
            using (CurrentUnitOfWork.SetTenantId(tenantId))
            {
                var homeOwer = await _homeOwerManager.HomeOwerRepository.FirstOrDefaultAsync(homeOwerId);

                if (homeOwer == null)
                {
                    throw ErrorCodeTypeUtils.ThrowError(ErrorCodeType.HomeOwerNotExists);
                }

                var deliverys = await _deliveryManager.DeliveryRepository.GetAllListAsync(d => d.IsGather == false && d.HomeOwerId == homeOwerId);

                foreach (var delivery in deliverys)
                {
                    delivery.IsGather   = true;
                    delivery.GatherTime = Clock.Now;
                    delivery.Token      = string.Empty;
                    await _deliveryManager.UpdateAsync(delivery);
                }

                return(Ok());
            }
        }