示例#1
0
        public GenericApiResponse SaveRetail([FromBody] RetailTicket ticketInfo, [FromBody] RetailTicketItem[] ticketItems)
        {
            var response = new GenericApiResponse();

            var ticket = _context.Tickets.FirstOrDefault(x => x.Id == ticketInfo.Id);

            if (ticket == null)
            {
                response.Success = false;
                response.Error   = (int)ErrorCodes.RetailScreenNotFoundTicket;
                response.Message = ErrorMessages.RetailScreenNotFoundTicket;
                return(response);
            }

            ticket.Paid          = ticketInfo.Paid;
            ticket.PaidAmount    = ticketInfo.PaidAmount;
            ticket.ClosingDate   = Convert.ToDateTime(ticketInfo.ClosingDate);
            ticket.CreationDate  = Convert.ToDateTime(ticketInfo.CreationDate);
            ticket.DueAmount     = ticketInfo.DueAmount;
            ticket.SubTotal      = ticketInfo.SubTotal;
            ticket.Settled       = ticketInfo.Settled;
            ticket.Status        = ticketInfo.Status;
            ticket.TableId       = ticketInfo.TableId;
            ticket.TotalDiscount = ticketInfo.TotalDiscount;
            ticket.TotalPrice    = ticketInfo.TotalPrice;
            ticket.TotalTax      = ticketInfo.TotalTax;
            ticket.Voided        = ticketInfo.Voided;
            ticket.VoidByUser    = ticketInfo.VoidedByUser;
            ticket.VoidReason    = ticketInfo.VoidedReason;

            var currentTicketItems = _context.TicketItems.Where(x => x.TicketId == ticket.Id);

            foreach (var ticketItem in ticketItems)
            {
                var currentTicketItem = currentTicketItems.FirstOrDefault(x => x.Id == ticketItem.Id);
                if (currentTicketItem == null)
                {
                    var item = new TicketItem();
                    SyncTicketItem(item, ticketItem);
                    _context.TicketItems.Add(item);
                    continue;
                }

                SyncTicketItem(currentTicketItem, ticketItem);
            }

            _context.SaveChanges();
            response.Success = true;
            return(response);
        }
示例#2
0
        public GenericApiResponseWithResult <ItemGroup> SaveGroup([FromBody] ItemGroup group)
        {
            var result = new GenericApiResponseWithResult <ItemGroup>();

            result.Success = true;
            try
            {
                var itemExists = _context.ItemGroups.Count(x => x.Id == group.Id) > 0;
                if (!itemExists)
                {
                    group.CreationUserId = "oobeso";
                    group.CreationDate   = DateTime.Now;
                    group.IsDeleted      = false;
                    _context.Add(group);
                }
                else
                {
                    var gr = _context.ItemGroups.FirstOrDefault(x => x.Id == group.Id);
                    group.UpdateDate   = DateTime.Now;
                    group.UpdateUserId = "oobeso";
                    Sync(gr, group);
                }
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Error   = (int)ErrorCodes.InternalServerError;
                result.Message = ex.Message;
            }

            if (result.Success)
            {
                result.Result = group;
            }

            return(result);
        }
示例#3
0
        public GenericApiResponseWithResult <ItemCategory> SaveCategory([FromBody] ItemCategory category)
        {
            var result = new GenericApiResponseWithResult <ItemCategory>();

            result.Success = true;
            try
            {
                var itemExists = _context.ItemCategories.Count(x => x.Id == category.Id) > 0;
                if (!itemExists)
                {
                    category.CreationUserId = "oobeso";
                    category.CreationDate   = DateTime.Now;
                    category.IsDeleted      = false;
                    _context.Add(category);
                }
                else
                {
                    var cat = _context.ItemCategories.FirstOrDefault(x => x.Id == category.Id);
                    category.UpdateDate   = DateTime.Now;
                    category.UpdateUserId = "oobeso";
                    Sync(cat, category);
                }
                _context.SaveChanges();
            }catch (Exception ex)
            {
                result.Success = false;
                result.Error   = (int)ErrorCodes.InternalServerError;
                result.Message = ex.Message;
            }

            if (result.Success)
            {
                result.Result = category;
            }

            return(result);
        }