예제 #1
0
 public Task RollbackLocalChanges(ServerActionResult reasonForRollback)
 {
     Log.MethodEntered("reasonForRollback=" + reasonForRollback);
     // Here the server probably has to be asked for the old email to rollback to and
     // then a local update would have to be done
     if (this.newEmail == "*****@*****.**")    // See testflow above
     {
         var emailOnServer = "*****@*****.**"; // Received from the server
         var store         = IoC.inject.Get <DataStore <MyAppState1> >(this);
         store.Dispatch(new ActionOnUser.RollbackLocalUser()
         {
             targetEmail      = newEmail,
             emailOnServer    = emailOnServer,
             isEmailConfirmed = true
         });
     }
     return(Task.FromResult(true));
 }
예제 #2
0
        public List <(Match, Team, Team)> RetrieveMatches(HttpContext context)
        {
            ControllerContext controllerContext = new ControllerContext()
            {
                HttpContext = context
            };
            RequestController requestController = new RequestController();

            requestController.ControllerContext = controllerContext;

            ServerActionResult action   = requestController.RetrieveMatches();
            ServerResponse     response = action.Response;

            List <(Match, Team, Team)> matches = new List <(Match, Team, Team)>();

            for (int i = 0; i < response.Data.Count; i += 3)
            {
                matches.Add((response.Data.ElementAt(i).Value as Match, response.Data.ElementAt(i + 1).Value as Team, response.Data.ElementAt(i + 2).Value as Team));
            }
            return(matches);
        }
예제 #3
0
        public (User, ServerException) Register(HttpContext context, Account register)
        {
            ControllerContext controllerContext = new ControllerContext()
            {
                HttpContext = context
            };
            RequestController requestController = new RequestController();

            requestController.ControllerContext = controllerContext;

            ServerActionResult action   = requestController.Register(register);
            ServerResponse     response = action.Response;

            User user = null;

            if (response.Exception == ServerException.None)
            {
                KeyValuePair <ServerModel, IServerModel> model = response.Data.First();
                user = model.Value as User;
            }
            return(user, response.Exception);
        }
예제 #4
0
        public (Actor, ServerException) Login(HttpContext context, Account login)
        {
            ControllerContext controllerContext = new ControllerContext()
            {
                HttpContext = context
            };
            RequestController requestController = new RequestController();

            requestController.ControllerContext = controllerContext;

            ServerActionResult action   = requestController.Login(login);
            ServerResponse     response = action.Response;

            Actor actor = null;

            if (response.Exception == ServerException.None)
            {
                KeyValuePair <ServerModel, IServerModel> model = response.Data.First();
                actor = model.Value as Actor;
            }
            return(actor, response.Exception);
        }
예제 #5
0
 public Task RollbackLocalChanges(ServerActionResult reasonForRollback)
 {
     return(Task.FromResult(true));
 }
        public async Task <ActionResult <object> > GetInventoryBalancesWarehousesAnalyticalModel(int id)
        {
            ServerActionResult serverActionResult;
            var iBalance = await _context.InventoryGoodsBalancesWarehouses
                           .Include(x => x.Good)
                           .Include(x => x.Warehouse)
                           .Join(_context.Units, x => x.UnitId, x => x.Id, (balance, Unit) => new
            {
                balance.Good,
                Unit,
                balance.Quantity,
                balance.Warehouse
            })
                           .ToListAsync();

            switch (id)
            {
            case 1:    // Номенклатура->Склад
                       //var t1 = iBalance
                       //    .GroupBy(iBalanceRow => iBalanceRow.Good.Name + " /" + iBalanceRow.Unit.Name,
                       //    (key, WarehousesValues) => new
                       //    {
                       //        key = new
                       //        {
                       //            key,
                       //            Sum = WarehousesValues.Sum(iBalanceSumRow => iBalanceSumRow.Quantity)
                       //        },
                       //        GroupValues = WarehousesValues.ToList().GroupBy(iBalanceSubRow => iBalanceSubRow.Warehouse.Name,
                       //        (subKey, subGroupValues) => new
                       //        {
                       //            Name = subKey,
                       //            Quantity = subGroupValues.ToList().Sum(x => x.Quantity)
                       //        }).ToList()
                       //    }).ToList();

                serverActionResult = new ServerActionResult()
                {
                    Success = true,
                    Info    = AllowedReports[1], // Номенклатура->Склад
                    Status  = StylesMessageEnum.success.ToString(),
                    Tag     = iBalance
                              .GroupBy(iBalanceRow => iBalanceRow.Good.Name + " /" + iBalanceRow.Unit.Name,
                                       (key, WarehousesValues) => new
                    {
                        key = new
                        {
                            Name = key,
                            Sum  = WarehousesValues.Sum(iBalanceSumRow => iBalanceSumRow.Quantity)
                        },
                        GroupValues = WarehousesValues.GroupBy(iBalanceSubRow => iBalanceSubRow.Warehouse.Name,
                                                               (subKey, subGroupValues) => new
                        {
                            Name     = subKey,
                            Quantity = subGroupValues.Sum(x => x.Quantity)
                        })
                    })
                };
                break;

            case 2:    // "Склад->Номенклатура"
                serverActionResult = new ServerActionResult()
                {
                    Success = true,
                    Info    = AllowedReports[2], // "Склад->Номенклатура"
                    Status  = StylesMessageEnum.success.ToString(),
                    Tag     = iBalance
                              .GroupBy(iBalanceRow => iBalanceRow.Warehouse.Name,
                                       (key, GroupValues) => new
                    {
                        key = new
                        {
                            Name = key,
                            Sum  = GroupValues.Sum(iBalanceSumRow => iBalanceSumRow.Quantity)
                        },
                        GroupValues = GroupValues.GroupBy(iBalanceSubRow => iBalanceSubRow.Good.Name + " /" + iBalanceSubRow.Unit.Name,
                                                          (subKey, subGroupValues) => new { subKey, subGroupValues }).Select(iBalanceSubRow => new
                        {
                            Name     = iBalanceSubRow.subKey,
                            Quantity = iBalanceSubRow.subGroupValues.Sum(item => item.Quantity)
                        })
                    })
                };
                break;

            default:
                return(new ObjectResult(new ServerActionResult()
                {
                    Success = false,
                    Info = "Запрашиваемого отчёта нет",
                    Status = StylesMessageEnum.danger.ToString()
                }));
            }
            return(new ObjectResult(serverActionResult));
        }