Get() public method

public Get ( RepoTypes repoType ) : Task
repoType RepoTypes
return Task
示例#1
0
        public void OnNavigatedTo(NavigationParameters parameters)
        {
            if (parameters.ContainsKey("Revisar"))
            {
                Revisar = (bool)parameters["Revisar"];
            }

            if (Revisar != true)
            {
                ProductoPrincipal = new ObservableCollection <ProductoPrincipal>(dataService.Get <ProductoPrincipal>(true));
            }
            else
            {
                ProductoPrincipal = new ObservableCollection <ProductoPrincipal>();


                foreach (var productoPrincipal in dataService.Get <ProductoPrincipal>(true))
                {
                    {
                        if (productoPrincipal.Calculo == true)
                        {
                            ProductoPrincipal.Add(productoPrincipal);
                        }
                    }
                }
            }
        }
示例#2
0
        private void LoadRates()
        {
            var rateValues = new List <RateValue>();
            var type       = typeof(Rates);
            var properties = type.GetRuntimeFields();

            foreach (var property in properties)
            {
                var code = property.Name.Substring(1, 3);
                rateValues.Add(new RateValue
                {
                    Code    = code,
                    TaxRate = (double)property.GetValue(exchangeRates.Rates)
                });
            }
            ;

            //names
            var rateNamesList = new List <RateName>();

            type       = typeof(RateNames);
            properties = type.GetRuntimeFields();

            foreach (var property in properties)
            {
                var code = property.Name.Substring(1, 3);
                rateNamesList.Add(new RateName
                {
                    Code = code,
                    Name = (string)property.GetValue(rateNames)
                });
            }

            Rates.Clear();

            List <Rate> rateList = joinList(rateValues, rateNamesList);

            var auxListRate = dataService.Get <Rate>(false);

            if (auxListRate.Count != 0)
            {
                dataService.DeleteAll <Rate>();
            }

            foreach (Rate property in rateList)
            {
                Rates.Add(new Rate
                {
                    Code    = property.Code,
                    TaxRate = (double)property.TaxRate,
                    Name    = property.FullName
                });

                dataService.Insert(new Rate {
                    Code    = property.Code,
                    TaxRate = (double)property.TaxRate,
                    Name    = property.Name
                });
            }
        }
示例#3
0
        public void AddRemoveCategory()
        {
            var context = new CoreDataContext();
            var uow = new EntityFrameworkUnitOfWork(context);
            var repo = new EntityFrameworkRepository<Guid, Category, GuidIdInitializer>(context);

            var caregoryService = new DataService<Guid, Category, EntityFrameworkRepository<Guid, Category, GuidIdInitializer>>(uow, repo);

            var newCategory = caregoryService.Add(new Category
            {
                Name = "Computres",
                Categories = new List<Category>
                {
                    new Category { Name = "-DeskTops" },
                    new Category { Name = "-Servers" },
                    new Category { Name = "-Laptops", Categories = new List<Category>
                        {
                            new Category { Name = "--Tablets" },
                            new Category { Name = "--Shmablets" },
                        }
                    },
                }
            });

            var justAdded = caregoryService.Get(c => c.Id == newCategory.Id);
            Assert.AreEqual(justAdded.Categories.Count, newCategory.Categories.Count);

            caregoryService.Remove(justAdded);
            justAdded = caregoryService.Get(c => c.Id == newCategory.Id);
            Assert.IsNull(justAdded);
        }
示例#4
0
        public async void UpdateCustomerLocation()


        {
            isRunning = true;

            await geolocatorService.getLocation();

            //var customer = dataService.Find<Customer>(CustomerId, false);
            var customer = dataService.Get <Customer>(false).FirstOrDefault(c => c.UserName == UserName);

            if (customer != null && geolocatorService.Latitude != 0 && geolocatorService.Longitud != 0)
            {
                Latitude  = geolocatorService.Latitude;
                Longitude = geolocatorService.Longitud;

                customer.Latitude  = geolocatorService.Latitude;
                customer.Longitude = geolocatorService.Longitud;

                //actualizo dsos locales
                dataService.Update(customer);


                var response = await apiService.Update(customer, "Customers");
            }

            isRunning = false;
        }
        public void LoadCountries()
        {
            var countrieslist = dataService
                                .Get <Country>(false)
                                .ToList();

            Countries = new ObservableCollection <Country>(countrieslist);
        }
示例#6
0
        private void LoadLocalCustomers()
        {
            var customersList = dataService.Get <Customer>(true);


            //Metodo para recargar losdatos, para evitar copiar y pegar:
            ReloadCustomers(customersList);
        }
        public void GetByStatus_Success()
        {
            var service = new DataService(connString);

            var result1 = service.Get(0);
            var result2 = service.Get(1);

            Assert.AreEqual(1, result1.Count);
            Assert.AreEqual(1, result2.Count);
        }
        public void GetByDateRange_Success()
        {
            var service = new DataService(connString);

            var result1 = service.Get(dt1.AddDays(-1), dt1.AddDays(1));
            var result2 = service.Get(dt1.AddDays(-11), dt1.AddDays(11));

            Assert.AreEqual(1, result1.Count);
            Assert.AreEqual(3, result2.Count);
        }
示例#9
0
 public IActionResult Get()
 {
     try
     {
         return(Ok(dataSvc.Get()));
     }
     catch (Exception ex)
     {
         //Log this message using NLog, AppInsights or similar
         return(BadRequest(ex.Message));
     }
 }
        public void GetByCode_Success()
        {
            var service = new DataService(connString);

            var resultUsd = service.Get("USD");
            var resultEur = service.Get("EUR");
            var resultCad = service.Get("CAD");

            Assert.AreEqual(2, resultUsd.Count);
            Assert.AreEqual(1, resultEur.Count);
            Assert.AreEqual(0, resultCad.Count);
        }
示例#11
0
        /// <summary>
        /// Supprime un partage utilisateur existant
        /// </summary>
        /// <param name="userId">utilisateur réalisant la suppression</param>
        /// <param name="shareId">identifiant unique du partage a supprimer</param>
        public void DeleteShare(int userId, int shareId)
        {
            var share = dataService.Get <Share>(shareId);

            if (share == null)
            {
                throw new BusinessException($"Impossible de supprimer le partage n°{shareId} car celui ci n'existe pas");
            }
            if (share.Owner?.Id != userId)
            {
                throw new BusinessException($"Impossible de supprimer le partage n°{shareId} car vous n'en êtes pas le propriétaire");
            }
            dataService.Delete(share);
        }
        public async void Get()
        {
            var jData = await DataService.Get($"Profile/{Preferences.Get("UserLocalId", "")}");


            if (jData == "ConnectionError")
            {
                StandardMessagesDisplay.NoConnectionToast();
            }
            else if (jData == "null")
            {
                StandardMessagesDisplay.NoDataDisplayMessage();
            }
            else if (jData == "Error")
            {
                StandardMessagesDisplay.Error();
            }
            else if (jData == "ErrorTracked")
            {
                StandardMessagesDisplay.ErrorTracked();
            }
            else
            {
                ConvertToModel(jData);
            }
        }
示例#13
0
        async void EditShipTo()
        {
            try
            {
                var contacslist = dataService
                                  .Get <Contact>(false)
                                  .Where(s => s.ShipToId == ShipToId)
                                  .ToList();

                var contacts = new ObservableCollection <Contact>();
                foreach (var ind in contacslist)
                {
                    contacts.Add(new Contact
                    {
                        Name     = ind.Name,
                        Address  = ind.Address,
                        PhoneNum = ind.PhoneNum,
                        Email    = ind.Email,
                    });
                }
                var mainViewModel = MainViewModel.GetInstance();

                mainViewModel.EditShipTo = new EditShipToViewModel();
                mainViewModel.EditShipTo.LoadCountries();
                mainViewModel.EditShipTo.LoadTerritories();
                mainViewModel.EditShipTo.LoadShipTo(this);
                // mainViewModel.EditShipTo.LoadContacts(contacts);
                await navigationService.Navigate("EditShipToPage");
            }
            catch (Exception ex)
            {
                await dialogService.ShowMessage("Error", ex.Message);
            }
        }
示例#14
0
        async void ViewInvoiceDetail()
        {
            try
            {
                var detail_list = dataService
                                  .Get <InvoiceDetail>(false)
                                  .Where(s => s.InvoiceNum == InvoiceNum)
                                  .ToList();

                var details = new System.Collections.ObjectModel.ObservableCollection <InvoiceDetail>();
                foreach (var ind in detail_list)
                {
                    details.Add(new InvoiceDetail
                    {
                        PartNum         = ind.PartNum,
                        InvoiceNum      = ind.InvoiceNum,
                        OurShipQty      = ind.OurShipQty,
                        UnitPrice       = ind.UnitPrice,
                        PartDescription = ind.PartDescription,
                    });
                }

                var mainViewModel = MainViewModel.GetInstance();
                mainViewModel.InvoiceDetail = new InvoiceDetailViewModel(details);
                await navigationService.Navigate("InvoiceDetailPage");
            }
            catch (Exception ex)
            {
                await dialogService.ShowMessage("Error", ex.Message);
            }
        }
示例#15
0
        private void LoadMainPage()
        {
            var player            = GetPC();
            var data              = BaseService.GetPlayerTempData(player);
            var pcBaseStructureID = new Guid(data.TargetArea.GetLocalString("PC_BASE_STRUCTURE_ID"));
            var structure         = DataService.Get <PCBaseStructure>(pcBaseStructureID);
            var mode              = DataService.Get <StructureMode>(structure.StructureModeID);
            var modeType          = (StructureModeType)mode.ID;

            string header = "You may change the active mode of this building here. Only one mode may be set at a time.\n\nBe aware that switching modes will remove all primary residents for the building.\n\n";

            header += ColorTokenService.Green("Current Mode: ") + mode.Name;

            if (modeType == StructureModeType.Residence)
            {
                SetResponseVisible("MainPage", 1, false);
            }
            else if (modeType == StructureModeType.Workshop)
            {
                SetResponseVisible("MainPage", 2, false);
            }
            else if (modeType == StructureModeType.Storefront)
            {
                SetResponseVisible("MainPage", 3, false);
            }

            SetResponseVisible("MainPage", 3, false); // Temporarily hide the Storefront option until it's implemented.
            SetPageHeader("MainPage", header);
        }
示例#16
0
        private void LoadMainPage()
        {
            ClearPageResponses("MainPage");
            var player   = GetPC();
            var dbPlayer = DataService.Single <Player>(x => x.ID == player.GlobalID);
            var header   = "You may use this tome to refund one of your perks. Refunding may only occur once every 24 hours (real world time). Selecting a perk from this list will refund all levels you have purchased of that perk. The refunded SP may be used to purchase other perks immediately afterwards.\n\n";

            if (dbPlayer.DatePerkRefundAvailable != null && dbPlayer.DatePerkRefundAvailable > DateTime.UtcNow)
            {
                TimeSpan delta = (DateTime)dbPlayer.DatePerkRefundAvailable - DateTime.UtcNow;
                var      time  = TimeService.GetTimeLongIntervals(delta.Days, delta.Hours, delta.Minutes, delta.Seconds, false);
                header += "You can refund another perk in " + time;
            }
            else
            {
                var pcPerks = DataService.Where <PCPerk>(x => x.PlayerID == player.GlobalID).OrderBy(o =>
                {
                    var perk = DataService.Get <Data.Entity.Perk>(o.PerkID);
                    return(perk.Name);
                }).ToList();

                foreach (var pcPerk in pcPerks)
                {
                    var perk = DataService.Get <Data.Entity.Perk>(pcPerk.PerkID);
                    AddResponseToPage("MainPage", perk.Name + " (Lvl. " + pcPerk.PerkLevel + ")", true, pcPerk.ID);
                }
            }
            SetPageHeader("MainPage", header);
        }
示例#17
0
        /// <summary>
        /// Deletes a player's character. Player must submit the command twice within 30 seconds.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="target"></param>
        /// <param name="targetLocation"></param>
        /// <param name="args"></param>
        public void DoAction(NWPlayer user, NWObject target, NWLocation targetLocation, params string[] args)
        {
            string lastSubmission = user.GetLocalString("DELETE_CHARACTER_LAST_SUBMISSION");
            bool isFirstSubmission = true;

            // Check for the last submission, if any.
            if (!string.IsNullOrWhiteSpace(lastSubmission))
            {
                // Found one, parse it.
                DateTime dateTime = DateTime.Parse(lastSubmission);
                if(DateTime.UtcNow <= dateTime.AddSeconds(30))
                {
                    // Player submitted a second request within 30 seconds of the last one. 
                    // This is a confirmation they want to delete.
                    isFirstSubmission = false;
                }
            }

            // Player hasn't submitted or time has elapsed
            if (isFirstSubmission)
            {
                user.SetLocalString("DELETE_CHARACTER_LAST_SUBMISSION", DateTime.UtcNow.ToString(CultureInfo.InvariantCulture));
                user.FloatingText("Please confirm your deletion by entering another \"/delete <CD Key>\" command within 30 seconds.");
            }
            else
            {
                Player dbPlayer = DataService.Get<Player>(user.GlobalID);
                dbPlayer.IsDeleted = true;
                DataService.SubmitDataChange(dbPlayer, DatabaseActionType.Update);

                _.BootPC(user, "Your character has been deleted.");
                NWNXAdmin.DeletePlayerCharacter(user, true);

            }
        }
示例#18
0
        private void PostDetailsPageResponses(int responseID)
        {
            var model   = GetDialogCustomData <Model>();
            var message = DataService.Get <Message>(model.MessageID);

            switch (responseID)
            {
            case 1:     // Remove Post
                if (model.IsConfirming)
                {
                    model.IsConfirming = false;
                    SetResponseText("PostDetailsPage", 1, "Remove Post");
                    message.DateRemoved = DateTime.UtcNow;
                    DataService.SubmitDataChange(message, DatabaseActionType.Update);
                    ClearNavigationStack();
                    LoadMainPage();
                    ChangePage("MainPage", false);
                }
                else
                {
                    model.IsConfirming = true;
                    SetResponseText("PostDetailsPage", 1, "CONFIRM REMOVE POST");
                }
                break;
            }
        }
示例#19
0
        public void DoAction(NWPlayer user, NWObject target, NWLocation targetLocation, params string[] args)
        {
            if (!target.IsPlayer)
            {
                user.SendMessage("Only players may be targeted with this command.");
                return;
            }

            NWPlayer player    = target.Object;
            var      dbPlayer  = DataService.Get <Player>(player.GlobalID);
            int      leaseRate = int.Parse(args[0]);

            dbPlayer.LeaseRate = leaseRate;
            DataService.SubmitDataChange(dbPlayer, DatabaseActionType.Update);

            user.SendMessage(player.Name + ": Lease rate set to " + dbPlayer.LeaseRate + "%");

            if (leaseRate == 0)
            {
                player.FloatingText("Your lease rate has returned to normal.");
            }
            else if (leaseRate > 0)
            {
                player.FloatingText("Your lease rate has increased to " + dbPlayer.LeaseRate + "% of normal.");
            }
            else if (leaseRate < 0)
            {
                player.FloatingText("Your lease rate has decreased to " + dbPlayer.LeaseRate + "% of normal.");
            }
        }
示例#20
0
        private void DoEnterBuilding()
        {
            NWPlayer    oPC  = GetPC();
            NWPlaceable door = GetDialogTarget().Object;
            string      pcBaseStructureID = door.GetLocalString("PC_BASE_STRUCTURE_ID");

            if (string.IsNullOrWhiteSpace(pcBaseStructureID))
            {
                _.FloatingTextStringOnCreature("ERROR: Door doesn't have a structure ID assigned. Notify an admin about this issue.", oPC.Object, _.FALSE);
                return;
            }
            var  structureID      = new Guid(pcBaseStructureID);
            bool canEnterBuilding = BasePermissionService.HasStructurePermission(GetPC(), structureID, StructurePermission.CanEnterBuilding);

            if (!canEnterBuilding)
            {
                oPC.FloatingText("You don't have permission to enter that building.");
                return;
            }

            var structure     = DataService.Single <PCBaseStructure>(x => x.ID == structureID);
            var pcBase        = DataService.Get <PCBase>(structure.PCBaseID);
            var interiorStyle = DataService.Get <BuildingStyle>(structure.InteriorStyleID);

            bool   starship = pcBase.PCBaseTypeID == 3;
            NWArea instance = BaseService.GetAreaInstance(structureID, false);

            if (instance == null)
            {
                instance = BaseService.CreateAreaInstance(oPC, structureID, false);
            }

            BaseService.JumpPCToBuildingInterior(oPC, instance);
        }
        public IActionResult List([FromForm] int page, [FromForm] int pagesize)
        {
            int?groupId = null;

            if (HttpContext.Request.Form.ContainsKey("group"))
            {
                int tmp = -1;
                if (int.TryParse(HttpContext.Request.Form["group"].ToString(), out tmp))
                {
                    groupId = tmp;
                }
            }
            TestDataItemService           service     = DataService.Get <TestDataItemService>(dbCollection.Current);
            PaginatedCollection <dynamic> queryResult = service.Query(page, pagesize, groupId);

            if (queryResult == null)
            {
                return(Json(new WebApiResult <object> {
                    code = ResultCode.STATE_FAIL, message = "还没有测试数据."
                }));
            }
            return(Json(new WebApiResult <PaginatedCollection <dynamic> > {
                code = ResultCode.STATE_OK,
                data = queryResult
            }));
        }
示例#22
0
        public async Task SimpleInsertAndGetWithCheckpointTest()
        {
            var bogus = new Bogus.Randomizer();

            using BufferSegment headerBufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            var headerPage = HeaderPage.CreateHeaderPage(headerBufferSegment);

            using BufferSegment bufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            PageHeader header = new PageHeader(1, PageType.Data);

            header.ToBuffer(bufferSegment.Span, 0);
            PageService pageService = new PageService(new InMemoryDiskService());
            DataService dataService = new DataService(new NopCompressionService(), pageService);
            TestObject  testObject  = new TestObject();

            testObject.IntProp    = bogus.Int();
            testObject.StringProp = bogus.String2(1000);
            var address = await dataService.Insert(testObject);

            address.SlotId.ShouldBe((byte)1);
            address.PageId.ShouldBe((ushort)1);
            await pageService.CheckPoint();

            var obj = await dataService.Get <TestObject>(address);

            obj.ShouldNotBeNull();
            obj.ShouldBe(testObject);

            // there should be no second page
            var secondPage = await pageService.GetPage <BasePage>(2);

            secondPage.ShouldBeNull();
        }
示例#23
0
        public async Task LargeInsertTest()
        {
            var bogus = new Bogus.Randomizer();

            using BufferSegment headerBufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            var headerPage = HeaderPage.CreateHeaderPage(headerBufferSegment);

            using BufferSegment bufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            PageHeader header = new PageHeader(1, PageType.Data);

            header.ToBuffer(bufferSegment.Span, 0);
            PageService pageService = new PageService(new InMemoryDiskService());
            DataService dataService = new DataService(new NopCompressionService(), pageService);
            TestObject  testObject  = new TestObject();

            testObject.IntProp    = bogus.Int();
            testObject.StringProp = bogus.String2(1000);

            for (int i = 0; i < 10000; i++)
            {
                var address = await dataService.Insert(testObject);

                address.SlotId.ShouldBeGreaterThan((byte)0);
                address.PageId.ShouldBeGreaterThan((byte)0);

                if (i > 254)
                {
                    address.PageId.ShouldBeGreaterThan((uint)1);
                }

                var resObject = await dataService.Get <TestObject>(address);

                resObject.ShouldBe(testObject);
            }
        }
示例#24
0
        public async Task InsertMaxAmountOfEntriesPerPageTest()
        {
            var bogus = new Bogus.Randomizer();

            using BufferSegment headerBufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            var headerPage = HeaderPage.CreateHeaderPage(headerBufferSegment);

            using BufferSegment bufferSegment = new BufferSegment(Constants.PAGE_SIZE);
            PageHeader header = new PageHeader(1, PageType.Data);

            header.ToBuffer(bufferSegment.Span, 0);
            PageService pageService = new PageService(new InMemoryDiskService());
            DataService dataService = new DataService(new NopCompressionService(), pageService);

            for (int i = 0; i < 300; i++)
            {
                var address = await dataService.Insert("ABC");

                address.SlotId.ShouldBeGreaterThan((byte)0);
                address.PageId.ShouldBeGreaterThan((byte)0);

                if (i > 254)
                {
                    address.PageId.ShouldBeGreaterThan((uint)1);
                }

                var resObject = await dataService.Get <string>(address);

                resObject.ShouldBe("ABC");
            }
        }
示例#25
0
        private void ManageMarketListingsReponses(int responseID)
        {
            var response = GetResponseByID("MarketListingsPage", responseID);
            var player   = GetPC();
            var model    = MarketService.GetPlayerMarketData(player);

            model.ManageListingID = (Guid)response.CustomData;

            // Populate the temporary data model for use on other pages.
            var listing = DataService.Get <PCMarketListing>(model.ManageListingID);

            model.ItemID                = new Guid(listing.ItemID);
            model.ItemName              = listing.ItemName;
            model.ItemTag               = listing.ItemTag;
            model.ItemResref            = listing.ItemResref;
            model.ItemObject            = listing.ItemObject;
            model.ItemRecommendedLevel  = listing.ItemRecommendedLevel;
            model.ItemStackSize         = listing.ItemStackSize;
            model.ItemMarketCategoryID  = listing.MarketCategoryID;
            model.SellPrice             = listing.Price;
            model.SellerNote            = listing.Note;
            model.ListingExpirationDate = listing.DateExpires;

            // Switch to details page.
            LoadManageMarketListingDetailsPage();
            ChangePage("MarketListingDetailsPage");
        }
示例#26
0
        private void LoadManageMarketListingDetailsPage()
        {
            var player   = GetPC();
            var model    = MarketService.GetPlayerMarketData(player);
            var category = DataService.Get <MarketCategory>(model.ItemMarketCategoryID);

            // Build the header
            string header = ColorTokenService.Green("Galactic Trade Market - Manage Market Listing") + "\n\n";

            header += ColorTokenService.Green("Item: ") + model.ItemStackSize + "x " + model.ItemName + "\n";
            header += ColorTokenService.Green("Category: ") + category.Name + "\n";

            if (model.ItemRecommendedLevel > 0)
            {
                header += ColorTokenService.Green("Recommended Level: ") + model.ItemRecommendedLevel + "\n";
            }

            header += ColorTokenService.Green("Sell Price: ") + model.SellPrice + " credits\n";
            header += ColorTokenService.Green("Seller Note: ") + model.SellerNote + "\n\n";

            if (model.IsListingExpired)
            {
                header += ColorTokenService.Red("This listing has expired.");
            }
            else
            {
                DateTime now            = DateTime.UtcNow;
                var      delta          = model.ListingExpirationDate - now;
                string   expirationTime = TimeService.GetTimeLongIntervals(delta.Days, delta.Hours, delta.Minutes, delta.Seconds, false);
                header += ColorTokenService.Green("This listing expires in " + expirationTime + ".");
            }

            SetPageHeader("MarketListingDetailsPage", header);
        }
示例#27
0
        private void HandleGiveReport(NWPlayer player, int questID)
        {
            var pcStatus = DataService.SingleOrDefault <PCQuestStatus>(x => x.PlayerID == player.GlobalID &&
                                                                       x.QuestID == questID);

            if (pcStatus == null)
            {
                return;
            }
            var state = DataService.Get <QuestState>(pcStatus.CurrentQuestStateID);

            // Quest is calling for collecting items. Run that method.
            if (state.QuestTypeID == (int)QuestType.CollectItems)
            {
                QuestService.RequestItemsFromPC(player, GetDialogTarget(), questID);
            }
            // All other quest types
            else if (QuestService.CanPlayerCompleteQuest(player, questID))
            {
                QuestService.CompleteQuest(player, GetDialogTarget(), questID, null);
                EndConversation();
            }
            // Missing a requirement.
            else
            {
                player.SendMessage(ColorTokenService.Red("One or more task is incomplete. Refer to your journal for more information."));
            }
        }
示例#28
0
        private string GetWarning()
        {
            var    player            = GetPC();
            var    data              = BaseService.GetPlayerTempData(player);
            var    pcBaseStructureID = new Guid(data.TargetArea.GetLocalString("PC_BASE_STRUCTURE_ID"));
            var    structure         = DataService.Get <PCBaseStructure>(pcBaseStructureID);
            var    modeType          = (StructureModeType)structure.StructureModeID;
            string warning;

            switch (modeType)
            {
            case StructureModeType.Residence:
                warning = "- All primary residents will be removed and their XP bonuses will cease.\n";
                break;

            case StructureModeType.Workshop:
                warning = "- All crafting bonuses will cease.\n- All prices set on workbenches will be removed.\n";
                break;

            case StructureModeType.Storefront:
                warning = "- All hired NPCs will be fired and no refund for their salary will be given.\n- Items which were being sold will be sent to the planetary impound and you will need to pay to retrieve them.\n";
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(warning);
        }
示例#29
0
        private void DoChangeMode()
        {
            var model             = GetDialogCustomData <Model>();
            var player            = GetPC();
            var data              = BaseService.GetPlayerTempData(player);
            var pcBaseStructureID = new Guid(data.TargetArea.GetLocalString("PC_BASE_STRUCTURE_ID"));
            var structure         = DataService.Get <PCBaseStructure>(pcBaseStructureID);
            var impoundedItems    = 0;

            // Remove primary residents
            var primaryResident = DataService.SingleOrDefault <Player>(x => x.PrimaryResidencePCBaseStructureID == pcBaseStructureID);

            if (primaryResident != null)
            {
                primaryResident.PrimaryResidencePCBaseStructureID = null;
                DataService.SubmitDataChange(primaryResident, DatabaseActionType.Update);
            }

            // Change mode
            structure.StructureModeID = (int)model.Mode;
            DataService.SubmitDataChange(structure, DatabaseActionType.Update);

            player.FloatingText("Building mode updated! " + impoundedItems + " item(s) were impounded.");
            EndConversation();
        }
示例#30
0
        public static bool Check(params object[] args)
        {
            using (new Profiler(nameof(QuestIsDone)))
            {
                int      index     = (int)args[0];
                NWPlayer player    = _.GetPCSpeaker();
                NWObject talkingTo = Object.OBJECT_SELF;
                int      questID   = talkingTo.GetLocalInt("QUEST_ID_" + index);
                if (questID <= 0)
                {
                    questID = talkingTo.GetLocalInt("QST_ID_" + index);
                }

                if (DataService.GetAll <Data.Entity.Quest>().All(x => x.ID != questID))
                {
                    _.SpeakString("ERROR: Quest #" + index + " is improperly configured. Please notify an admin");
                    return(false);
                }

                var status = DataService.SingleOrDefault <PCQuestStatus>(x => x.PlayerID == player.GlobalID && x.QuestID == questID);
                if (status == null)
                {
                    return(false);
                }


                var currentQuestState = DataService.Get <QuestState>(status.CurrentQuestStateID);
                var quest             = DataService.Get <Data.Entity.Quest>(currentQuestState.QuestID);
                var states            = DataService.Where <QuestState>(x => x.QuestID == quest.ID);
                return(currentQuestState.ID == states.OrderBy(o => o.Sequence).Last().ID&&
                       status.CompletionDate != null);
            }
        }
        public IActionResult Search([FromForm] string keywords, [FromForm] int page, [FromForm] int pagesize)
        {
            if (string.IsNullOrEmpty(keywords))
            {
                return(Json(new WebApiResult <object> {
                    code = ResultCode.STATE_FAIL, message = "未指定搜索关键字."
                }));
            }
            int?groupId = null;

            if (HttpContext.Request.Form.ContainsKey("group"))
            {
                int tmp = -1;
                if (int.TryParse(HttpContext.Request.Form["group"].ToString(), out tmp))
                {
                    groupId = tmp;
                }
            }
            TestDataItemService           service     = DataService.Get <TestDataItemService>(dbCollection.Current);
            PaginatedCollection <dynamic> queryResult = service.Search(keywords, page, pagesize, groupId);

            if (queryResult == null)
            {
                return(Json(new WebApiResult <object> {
                    code = ResultCode.STATE_FAIL, message = string.Format("未搜索到“{0}”相关的结果.", keywords)
                }));
            }
            return(Json(new WebApiResult <PaginatedCollection <dynamic> > {
                code = ResultCode.STATE_OK, data = queryResult
            }));
        }