Пример #1
0
        public Menu Save(MenuDTO dto, long userId)
        {
            using (var transac = new TransactionScope())
            {
                var date = DateTime.UtcNow;

                var newEntity = new Menu
                {
                    MenuCode    = Guid.NewGuid().ToString(),
                    MenuType    = dto.MenuType,
                    Name        = dto.Name,
                    Address     = dto.Address,
                    CreatedBy   = (int)userId,
                    CreateDate  = date,
                    UpdatedBy   = (int)userId,
                    UpdatedDate = date,
                    Price       = dto.Price
                };

                Manager.Database.Menus.Add(newEntity);
                Manager.Database.SaveChanges();

                transac.Complete();

                return(newEntity);
            }
        }
Пример #2
0
        public Menu Update(MenuDTO dto, long userId)
        {
            using (var transac = new TransactionScope())
            {
                var date = DateTime.UtcNow;

                var exist = Manager.Query.Value.Get().FirstOrDefault(s => s.MenuId == dto.MenuId);
                if (exist == null)
                {
                    throw new Exception("Your menu doesn't exist");
                }
                else
                {
                    if (exist.Price != dto.Price)
                    {
                        var newMenuHistory = new MenuHistory
                        {
                            MenuCode    = exist.MenuCode,
                            MenuType    = exist.MenuType,
                            Name        = exist.Name,
                            Address     = exist.Address,
                            CreatedBy   = userId,
                            CreatedDate = date,
                            UpdatedBy   = userId,
                            UpdatedDate = date,
                            Price       = exist.Price
                        };
                        Manager.Database.MenuHistories.Add(newMenuHistory);
                    }

                    exist.MenuCode    = dto.MenuCode;
                    exist.MenuType    = dto.MenuType;
                    exist.Name        = dto.Name;
                    exist.Address     = dto.Address;
                    exist.UpdatedBy   = (int)userId;
                    exist.UpdatedDate = date;
                    exist.Price       = dto.Price;

                    Manager.Database.SaveChanges();
                }

                transac.Complete();

                return(exist);
            }
        }