예제 #1
0
        public async Task <CreateOrderResponse> CreateOrder(Ordering.Order order)
        {
            var lendingItem = new LendingItem
            {
                ItemID         = order.ItemId,
                OrderStatusID  = (int)order.Status,
                UnitRequestsID = order.RequestingUnitId,
                UnitLendingID  = order.LendingUnitId,
                Remarks        = order.Remarks,
                MemberID       = order.RequestingMemberId,
                OrderDate      = DateTime.Now
            };

            try
            {
                db.LendingItems.Add(lendingItem);
                await db.SaveChangesAsync();

                return(new CreateOrderResponse(lendingItem.ID));
            }
            catch (Exception ex)
            {
                var errors = db.GetValidationErrors();
                return(new CreateOrderResponse(ex.Message));
            }
        }
예제 #2
0
        public async Task <bool> AddMessages(AddMessageRequest[] requests)
        {
            var messages = requests.Select(req => new Message
            {
                Content  = req.Content,
                MemberID = req.MemberId,
                OrderID  = req.OrderId
            });

            db.Messages.AddRange(messages);

            try
            {
                await db.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #3
0
        public async Task <Result <bool> > Update(UnitDistanceModel[] models)
        {
            await Task.CompletedTask;
            var current = await GetCurrent();

            foreach (var model in models)
            {
                var          key = GetKey(model.A, model.B);
                DistanceUnit distance;
                if (current.ContainsKey(key))
                {
                    distance = current[key];
                }
                else
                {
                    distance = new DistanceUnit
                    {
                        FirstUnitID  = model.A,
                        SecondUnitID = model.B
                    };
                    db.DistanceUnits.Add(distance);
                }

                distance.Distance = model.Distance;
            }

            try
            {
                await db.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                return(new Error("bo_fail_to_update_distances", ex.Message));
            }
        }
예제 #4
0
 public async Task EditAsync(T item)
 {
     await _context.SaveChangesAsync();
 }