private BookViewModel MapBookToViewModel(DataInterface.Entities.Book book)
        {
            var bookViewModel = new BookViewModel
            {
                Id = book.Id,
                Title = book.Title ?? String.Empty,
                Category = book.CategorySetting != null ? book.CategorySetting.Category : String.Empty,
                Authors = String.Empty,
                Tags = String.Empty,
            };

            if (book.Authors != null)
            {
                var authors = new List<string>();
                book.Authors.ToList().ForEach(x => authors.Add(String.Format("{0} {1}", x.Name, x.Surname)));
                bookViewModel.Authors = String.Join(",", authors.ToArray());
            }

            if (book.Tags != null)
            {
                var tags = new List<string>();
                book.Tags.ToList().ForEach(x => tags.Add(x.Name));
                bookViewModel.Tags = String.Join(",", tags.ToArray());
            }

            return bookViewModel;
        }
Пример #2
0
        private void button4_Click(object sender, EventArgs e)
        {
            DataInterface di          = new DataInterface(Global.SAMPLE_CONNECTION);
            int           UpdateCount = di.ParseDirectory(this.textBox2.Text).Count;

            this.flowTubeListDisplayControl1.RefreshData();
            MessageBox.Show(UpdateCount.ToString() + " new files parsed and uploaded to database");
        }
Пример #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            DataInterface di = new DataInterface(Global.SAMPLE_CONNECTION);

            di.DeleteAllFlowData("YESIREALLYWANTTODOTHIS");
            this.flowTubeListDisplayControl1.RefreshData();
            MessageBox.Show("All tube data has been deleted");
        }
Пример #4
0
        public float ChannelMove_y;         //通道在y轴的偏移值

        public Channel()
        {
            ChannelIsShow = true;
            ChannelType   = ChannelType.input;
            Interface     = DataInterface.interface1;
            ChannelFold_y = 1.0f;
            ChannelMove_y = 0.0f;
        }
Пример #5
0
    /// <summary>
    ///
    /// checks if a popup action occurs
    ///
    /// </summary>
    protected override void checkPopupCacheCustom()
    {
        // submit a plan
        if (GUIAssets.PopupButton.submit)
        {
            // reset the submit variable
            GUIAssets.PopupButton.submit = false;
            string planTag = GameObject.Find("InputTag").GetComponent <TMP_InputField>().text;

            // make sure the planTag has a value to avoid errors
            if (planTag == null)
            {
                planTag = "";
            }

            // check for a value
            if (!planTag.Equals(""))
            {
                // check for the same name
                bool existingName = false;
                foreach (int id in loadedPlans.Keys)
                {
                    if (planTag.Equals(loadedPlans[id].tag))
                    {
                        existingName = true;
                    }
                }

                // keep the plan names short
                bool tooLong = false;
                if (planTag.Length > 20)
                {
                    tooLong = true;
                }


                // submit plan if the name is valid
                if (!existingName && !tooLong)
                {
                    plan.tag = planTag;
                    DataInterface.PostPlan(plan);
                    Capture.Log("SubmitPlanToDB;" + planTag + ";" + JsonConvert.SerializeObject(plan) + ";" + planCalculation.getLogString(), Capture.PLANNER);
                }
                else if (tooLong)
                {
                    ShowMsg("Plan name is too long", true);
                }
                else
                {
                    ShowMsg("Existing plan with the same name", true);
                }
            }
            else
            {
                ShowMsg("Error entering a tag name", true);
            }
        }
    }
        public async Task CanMapToPrintReferrals(Gov.Jag.Embc.Public.ViewModels.Referral referral)
        {
            var ctx        = EmbcDb;
            var di         = new DataInterface(ctx, Mapper);
            var pdfService = new PdfConverter();
            var service    = new ReferralsService(di, pdfService);

            var incidentTask = await di.CreateIncidentTaskAsync(IncidentTaskGenerator.Generate());

            var regVM = RegistrationGenerator.GenerateSelf();

            regVM.IncidentTask = incidentTask;

            var registrationId = await di.CreateEvacueeRegistrationAsync(regVM);

            referral.EssNumber = registrationId;

            var referralId = await di.CreateReferralAsync(referral);

            var id = await di.CreateReferralAsync(referral);

            var result = await di.GetReferralsAsync(new string[] { id });

            Assert.NotNull(result);
            Assert.Equal("D0000001", result.First().IncidentTaskNumber);
            Assert.NotNull(result);
            Assert.Equal(referral.EssNumber, result.First().EssNumber);
            Assert.NotEmpty(result.First().Id);
            Assert.Equal(referral.Type + (referral.SubType != null ? $"_{referral.SubType}" : ""), result.First().Type);
            Assert.Null(result.First().SubType);
            Assert.Equal(referral.Purchaser, result.First().Purchaser);
            Assert.Equal(referral.TotalAmount, result.First().TotalAmount);
            Assert.Equal(referral.Supplier.Fax, result.First().Supplier.Fax);
            Assert.Equal(referral.ValidDates.From, result.First().ValidDates.From);
            Assert.Equal(referral.ValidDates.To, result.First().ValidDates.To);
            Assert.Equal(referral.ConfirmChecked, result.First().ConfirmChecked);
            Assert.All(result.First().Evacuees, e => referral.Evacuees.Any(re => re.Id == e.Id));
            Assert.Equal(referral.Evacuees.Count(), result.First().Evacuees.Count());
            Assert.NotNull(result.First().Supplier);
            Assert.Equal(referral.Supplier.Name, result.First().Supplier.Name);
            Assert.Equal(referral.Supplier.Address, result.First().Supplier.Address);
            Assert.Equal(referral.Supplier.City, result.First().Supplier.City);
            Assert.Equal(referral.Supplier.Province, result.First().Supplier.Province);
            Assert.Equal(referral.Supplier.Fax, result.First().Supplier.Fax);
            Assert.Equal(referral.Supplier.Telephone, result.First().Supplier.Telephone);
            Assert.Equal(referral.Supplier.Active, result.First().Supplier.Active);
            Assert.Equal(referral.ToAddress, result.First().ToAddress);
            Assert.Equal(referral.FromAddress, result.First().FromAddress);
            Assert.Equal(referral.OtherTransportModeDetails, result.First().OtherTransportModeDetails);
            Assert.Equal(referral.NumLunches, result.First().NumLunches);
            Assert.Equal(referral.NumBreakfasts, result.First().NumBreakfasts);
            Assert.Equal(referral.NumDaysMeals, result.First().NumDaysMeals);
            Assert.Equal(referral.NumDinners, result.First().NumDinners);
            Assert.Equal(referral.NumNights, result.First().NumNights);
            Assert.Equal(referral.ApprovedItems, result.First().ApprovedItems);
            Assert.Equal(referral.ExtremeWinterConditions, result.First().ExtremeWinterConditions);
        }
Пример #7
0
 public SlackIntegration(DataInterface dataInterface)
 {
     _dataInterface   = dataInterface;
     _client          = new HttpClient();
     _slackToken      = _dataInterface.GetUserDefinedField(0, "SLACKTOKEN");
     _slackLogChannel = _dataInterface.GetUserDefinedField(0, "SLACKLOGCHANNEL");
     _slackUrl        = _dataInterface.GetUserDefinedField(0, "SLACKURL");
     _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + _slackToken);
 }
        public ScheduleController(ICreateUserSchedule view, DataInterface.Entities.User user, ReadOnlyContext context)
        {
            _view = view;
            _user = user;
            _timetableRepository = context.GetRepository<Timetable>();
            _view.CreateSchedule += CreateSchedule;

            _view.Show();
        }
Пример #9
0
 public MainForm()
 {
     InitializeComponent();
     _dbConfigStr   = File.ReadAllText("BBSConfig.txt").Split('|')[1];
     _dataInterface = new DataInterface(_dbConfigStr);
     _formUtils     = new FormUtils(_dataInterface);
     _bbsConfig     = _dataInterface.GetBBSConfig();
     bbs_instances  = new List <BBS>();
 }
Пример #10
0
 public UDBases(BBS bbs, DataInterface dataInterface)
 {
     _bbs           = bbs;
     _dataInterface = dataInterface;
     Current_Area   = -1;
     //Current_Parent_Area = -1;
     _bbs.SendFileForTermType("udbase_entry_root", true);
     CMD_List();
 }
Пример #11
0
 public PFiles(BBS bbs, DataInterface dataInterface)
 {
     _bbs                = bbs;
     _dataInterface      = dataInterface;
     Current_Pfile_Area  = -1;
     Current_Parent_Area = -1;
     _bbs.SendFileForTermType("pfile_entry_root", false);
     CMD_List();
 }
Пример #12
0
        public History(params object[] args)
        {
            var dataInterface = new DataInterface();

            var history = BuildContent(dataInterface.GetTransactions());

            // No instructions needed for history
            FunctionHelper.Init(args, null, history);
        }
Пример #13
0
 public void Initialize(int mode, DataInterface _dataInterface)
 {
     //0 = Add, 1 = Edit
     Text = (mode == 0) ? "Add User" : "Edit User";
     lsAccessLevel.Populate(
         _dataInterface.AccessGroups().Select(
             p => new Classes.ComboBoxListItem(p.AccessGroupId, p.Description + " (" + p.AccessGroupNumber + ")")
             ).ToList()
         );
 }
Пример #14
0
        public static void ResetView()
        {
            var navAccess = GetNavAccess();
            var username  = DataInterface.GetUsername();

            Console.Clear();
            Layout.RenderTitle();
            Layout.RenderWelcomeMsg(navAccess, username);
            NavigationMenu.RenderMenu(navAccess);
        }
Пример #15
0
 public MessageBases(BBS bbs, DataInterface dataInterface)
 {
     _bbs           = bbs;
     _dataInterface = dataInterface;
     Current_Area   = -1;
     //Current_Parent_Area = -1;
     _bbs.SendFileForTermType("messagebase_entry_root", true);
     CMD_List();
     RecalculatePath();
 }
Пример #16
0
        /// <summary>
        /// The ButtonOk_Click method.
        /// </summary>
        /// <param name="sender">The <paramref name="sender"/> parameter.</param>
        /// <param name="args">The <paramref name="args"/> parameter.</param>
        private void ButtonOk_Click(object sender, EventArgs args)
        {
            // Close the dialog if no situations are checked.
            if (DisplayedListView.SelectedItems.Count == 0)
            {
                return;
            }

            SelectedInterface = (DataInterface)DisplayedListView.SelectedItems[0].Tag;
        }
Пример #17
0
    public void Encode(World world, DataInterface dataInterface)
    {
        dataInterface.Write((ushort)world.Width);
        dataInterface.Write((ushort)world.Height);
        dataInterface.Write(world.NavyScale);
        dataInterface.Write(world.StartCoordinate.Latitude);
        dataInterface.Write(world.StartCoordinate.Longitude);
        Debug("Finished encoding world base header.");

        EncodeBody(world, dataInterface);
    }
        private void FormTypeForm_Load(object sender, EventArgs e)
        {
            ResetControls();

            //FormTypeDa.Fill(FormTypeDt);
            FormTypeDa.Fill(FormTypeDs.tblFormType);

            loadInitialData();

            DataInterface.BindObjects(MainTableLayoutPanel, FormTypeBs);
        }
Пример #19
0
        private void UsersForm_Load(object sender, EventArgs e)
        {
            UserDa.Fill(UserDt);
            UserBs.DataSource = UserDt;

            UsersDataGridView.DataSource = UserBs;
            this.UsersDataGridView.Columns["Password"].Visible = false;
            this.UsersDataGridView.Columns["ID"].Visible       = false;

            DataInterface.BindObjects(pnUsers, UserBs);
        }
Пример #20
0
 public DataRepository(DataInterface dI)
 {
     readers     = new List <Reader>();
     expireDates = new List <string>();
     books       = new Dictionary <int, Book>();
     rents       = new ObservableCollection <Rent>();
     dI.FillExpireDateList(this);
     dI.FillBookDictionary(this);
     dI.FillReadersList(this);
     dI.FillRentsWithData(this);
 }
Пример #21
0
        public Balance(params object[] args)
        {
            var dataInterface = new DataInterface();

            // get all transactions for the user
            var transactions = dataInterface.GetTransactions();

            var balance = DataHelper.CalculateBalance(transactions).ToString("C");

            var content = Layout.BuildCenteredText($"The current balance for your account is: {balance}");

            // No instructions needed for blance inquiry
            FunctionHelper.Init(args, null, content);
        }
Пример #22
0
        private void Init()
        {
            // Init handlers

            try {
                cpuh = new CPUHandler();
                if (cpuh.cpuType == CPUHandler.CPUType.Unsupported)
                {
                    EventLog.WriteEntry("Unsupported CPU " + cpuh.GetCpuInfo().ToString("X8"));
                }
            } catch (Exception ex) {
                EventLog.WriteEntry("CPUH Error: " + ex.Message);
                Environment.Exit(1);
            }

            try {
                di = new DataInterface(true);
            } catch (Exception ex) {
                EventLog.WriteEntry(ex.Message);
                Environment.Exit(2);
            }

            SetServerFlags();

            // Initial values
            di.MemWrite(DataInterface.REG_NOTIFY_STATUS, 0x00);
            di.MemWrite(DataInterface.REG_SERVER_VERSION, DataInterface.ServiceVersion);
            di.MemWrite(DataInterface.REG_PING_PONG, 0x01);

            for (int i = 0; i < CPUHandler.NumPstates; i++)
            {
                di.MemWrite(DataInterface.REG_P0 + i, cpuh.Pstate[i]);
            }

            di.MemWrite(DataInterface.REG_PPT, (UInt64)cpuh.ZenPPT);
            di.MemWrite(DataInterface.REG_TDC, (UInt64)cpuh.ZenTDC);
            di.MemWrite(DataInterface.REG_EDC, (UInt64)cpuh.ZenEDC);
            di.MemWrite(DataInterface.REG_SCALAR, (UInt64)cpuh.ZenScalar);

            di.MemWrite(DataInterface.REG_PERF_BIAS, (UInt64)cpuh.PerformanceBias);

            // Timer start
            t1          = new System.Timers.Timer();
            t1.Elapsed += new ElapsedEventHandler(t1Handler);
            t1.Interval = 1000;
            t1.Enabled  = true;

            // Optimize
            MinimizeFootprint();
        }
Пример #23
0
        public bool Delete()
        {
            try
            {
                var link = Link.GetLink(this);

                DataInterface <BugTicket> .Delete(this.ID);

                link.Delete();

                return(true);
            }
            catch (Exception) { return(false); }
        }
Пример #24
0
        private bool Login(string Username, string Password)
        {
            var Result = WebInterface.Login(Username, Password);

            switch (Result.Result)
            {
            case WebInterface.LoginResult.OK:
            {
                DataInterface.Delete("login");
                DataInterface.Save("token", Result.Token);
                return(true);
            }

            case WebInterface.LoginResult.INVALID_USER_PASS:
            {
                Dispatcher.Invoke(() =>
                    {
                        MessageBox.Show(
                            "Invalid username/email or password.",
                            "Synapse X", MessageBoxButton.OK, MessageBoxImage.Error);
                        LoginButton.Content = "Login";
                        LoggingIn           = false;
                    });
                return(false);
            }

            case WebInterface.LoginResult.NOT_MIGRATED:
            {
                Migrate(Username, Password);
                return(false);
            }

            case WebInterface.LoginResult.INVALID_REQUEST:
            case WebInterface.LoginResult.UNKNOWN:
            {
                Dispatcher.Invoke(() =>
                    {
                        Topmost = false;
                        MessageBox.Show(
                            "Failed to login to Synapse account. Please contact 3dsboy08 on Discord.",
                            "Synapse X", MessageBoxButton.OK, MessageBoxImage.Error);
                    });
                Environment.Exit(0);
                return(false);
            }
            }

            return(false);
        }
Пример #25
0
        private void button1_Click(object sender, EventArgs e)
        {
            DataInterface di      = new DataInterface(Global.SAMPLE_CONNECTION);
            bool          Success = di.ParseFile(this.textBox1.Text);

            this.flowTubeListDisplayControl1.RefreshData();
            if (Success)
            {
                MessageBox.Show("File" + this.textBox1.Text + " parsed and uploaded to the database");
            }
            else
            {
                MessageBox.Show("Not parsed.  May already be in database or may not be a valid XML file");
            }
        }
Пример #26
0
 public void Initialize(int mode, DataInterface _dataInterface)
 {
     //0 = Add, 1 = Edit
     Text = (mode == 0) ? "Add Message Area" : "Edit Message Area";
     lsParentArea.Populate(
         _dataInterface.MessageBaseAreas().Select(
             p => new Classes.ComboBoxListItem(p.MessageBaseAreaId, p.LongDescription + " (" + p.MessageBaseAreaId + ")")
             ).ToList()
         );
     lsMinimumAccessLevel.Populate(
         _dataInterface.AccessGroups().Select(
             p => new Classes.ComboBoxListItem(p.AccessGroupId, p.Description + " (" + p.AccessGroupNumber + ")")
             ).ToList()
         );
 }
    /* Convert the provided byte array to a world instance, optionally ignoring length. */
    public static World ConvertFromBytes(byte[] data, bool ignoreLength)
    {
        var dataInterface = new DataInterface(ref data);

        if (ignoreLength)
        {
            dataInterface.ReadInt();
        }

        var version = dataInterface.ReadInt();
        var encoder = GetEncoder(version);

        Debug("Decoding world.");
        return(encoder.Decode(dataInterface));
    }
Пример #28
0
        protected override void OnStart(string[] args)
        {
            eventLog1.WriteEntry("Raw service start");

            XmlSerializer ser        = new XmlSerializer(typeof(Configuration));
            string        configFile = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "configuration.xml");
            StreamReader  reader     = new StreamReader(configFile);

            _Configuration = (Configuration)ser.Deserialize(reader);
            reader.Close();
            string connectionString = "Server=" + _Configuration.DatabaseServer + ";Database=" + _Configuration.DatabaseName + ";User Id=" + _Configuration.DatabaseUsername + ";Password=k&ye_j2ZzmE4^e;";

            _DataInterface    = new DataInterface(connectionString);
            _workTimerArchive = new Timer(new TimerCallback(DoWorkArchive), null, _Configuration.TimerInterval * 1000, _Configuration.TimerInterval * 1000);
            _workTimerFlow    = new Timer(new TimerCallback(DoWorkFlow), null, _Configuration.TimerInterval * 1000, _Configuration.TimerInterval * 1000);
        }
Пример #29
0
        public async Task CanInsertReferralViewModel(Gov.Jag.Embc.Public.ViewModels.Referral referral)
        {
            var ctx = EmbcDb;

            var di = new DataInterface(ctx, Mapper);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            referral.EssNumber = registrationId;

            var referralId = await di.CreateReferralAsync(referral);

            var result = await di.GetReferralAsync(referralId);

            Assert.NotNull(result);
            Assert.Equal(referral.EssNumber, result.EssNumber);
            Assert.NotEmpty(result.Id);
            Assert.Equal(referral.Type.ToUpperInvariant(), result.Type);
            Assert.Equal(referral.SubType?.ToUpperInvariant(), result.SubType);
            Assert.Equal(referral.Purchaser, result.Purchaser);
            Assert.Equal(referral.TotalAmount, result.TotalAmount);
            Assert.Equal(referral.Supplier.Fax, result.Supplier.Fax);
            Assert.Equal(referral.ValidDates.From, result.ValidDates.From);
            Assert.Equal(referral.ValidDates.To, result.ValidDates.To);
            Assert.Equal(referral.ConfirmChecked, result.ConfirmChecked);
            Assert.All(result.Evacuees, e => referral.Evacuees.Any(re => re.Id == e.Id));
            Assert.Equal(referral.Evacuees.Count(), result.Evacuees.Count());
            Assert.NotNull(result.Supplier);
            Assert.Equal(referral.Supplier.Name, result.Supplier.Name);
            Assert.Equal(referral.Supplier.Address, result.Supplier.Address);
            Assert.Equal(referral.Supplier.City, result.Supplier.City);
            Assert.Equal(referral.Supplier.Province, result.Supplier.Province);
            Assert.Equal(referral.Supplier.Fax, result.Supplier.Fax);
            Assert.Equal(referral.Supplier.Telephone, result.Supplier.Telephone);
            Assert.Equal(referral.Supplier.Active, result.Supplier.Active);
            Assert.Equal(referral.ToAddress, result.ToAddress);
            Assert.Equal(referral.FromAddress, result.FromAddress);
            Assert.Equal(referral.OtherTransportModeDetails, result.OtherTransportModeDetails);
            Assert.Equal(referral.NumLunches, result.NumLunches);
            Assert.Equal(referral.NumBreakfasts, result.NumBreakfasts);
            Assert.Equal(referral.NumDaysMeals, result.NumDaysMeals);
            Assert.Equal(referral.NumDinners, result.NumDinners);
            Assert.Equal(referral.NumNights, result.NumNights);
            Assert.Equal(referral.ApprovedItems, result.ApprovedItems);
            Assert.Equal(referral.ExtremeWinterConditions, result.ExtremeWinterConditions);
        }
Пример #30
0
        public async Task CanGetReferralsInOrder()
        {
            var ctx = EmbcDb;

            var di = new DataInterface(ctx, Mapper);

            var registrationId = await di.CreateEvacueeRegistrationAsync(RegistrationGenerator.GenerateSelf());

            var referrals = new[] {
                ReferralGenerator.Generate(ReferralType.Incidentals, registrationId),
                ReferralGenerator.Generate(ReferralType.Incidentals, registrationId),
                ReferralGenerator.Generate(ReferralType.Clothing, registrationId),
                ReferralGenerator.Generate(ReferralType.Clothing, registrationId),
                ReferralGenerator.Generate(ReferralType.Lodging_Group, registrationId),
                ReferralGenerator.Generate(ReferralType.Lodging_Hotel, registrationId),
                ReferralGenerator.Generate(ReferralType.Transportation_Taxi, registrationId),
                ReferralGenerator.Generate(ReferralType.Food_Restaurant, registrationId),
                ReferralGenerator.Generate(ReferralType.Food_Groceries, registrationId)
            };

            int days = 0;

            foreach (var referral in referrals)
            {
                referral.ValidDates.From = referral.ValidDates.From.AddDays(days);
                referral.ValidDates.To   = referral.ValidDates.To.AddDays(days);
                days++;
            }
            var referralTypeOrder = new List <string> {
                "FOOD", "LODGING", "CLOTHING", "TRANSPORTATION", "INCIDENTALS"
            };
            var expectedReferralsOrder = referrals
                                         .OrderBy(r => referralTypeOrder.IndexOf(r.Type.ToUpperInvariant()))
                                         .ThenByDescending(r => r.ValidDates.From)
                                         .Select(r => (r.Type.ToUpperInvariant(), r.ValidDates.From))
                                         .ToArray();

            foreach (var referral in referrals)
            {
                await di.CreateReferralAsync(referral);
            }

            var result = (await di.GetReferralsAsync(registrationId, new SearchQueryParameters())).Items;

            Assert.Equal(expectedReferralsOrder, result.Select(r => (r.Type, r.ValidFrom)).ToArray());
        }
Пример #31
0
        /// <summary>
        /// Any item which requires GAMEDATA in order to derive
        /// the name. This is the base class of many others.
        /// </summary>
        /// <param name="IDS">ID of the item</param>
        /// <param name="deriveName">Function which can derive the name
        /// given the IDS</param>
        internal Gamedata(string IDS, string expectedType, DataInterface di)
        {
            this.di = di;

            if (IDS != "-1")
            {
                this.IDS  = IDS;
                this.Name = deriveName(IDS);
                this.Type = deriveType(IDS);

                typeCheck(expectedType);
            }
            else
            {
                this.Name = "No data found.";
            }
        }
Пример #32
0
    /// <summary>
    /// Unity start method and initializes the scene
    /// </summary>
    void Start()
    {
        Capture.Log("StartSession", business ? Capture.BUSINESS : Capture.PLANNER);

        // load image icons
        GUIHelpers.LoadImageIcons();

        // get the market ID
        DataInterface.GetMarket();

        // set the base plate and grid
        SetupBasePlateAndScale();
        // change view
        ResetView();
        // load all database objects
        DatabaseLoadAllObjects();
    }
        public UserDetailView(DataInterface.Entities.User selectedUser, IEnumerable<DataInterface.Entities.Lease> borrowedBooks, IEnumerable<DataInterface.Entities.Reservation> reservedBooks)
        {
            InitializeComponent();
            AddRoleComboBoxItems();
            this.firstNameField.Text = (selectedUser.Name != null) ? selectedUser.Name : " ";
            this.lastNameField.Text = (selectedUser.Surname != null) ? selectedUser.Surname : " ";
            this.peselField.Text = (selectedUser.PESEL != null) ? selectedUser.PESEL : " ";
            this.mailField.Text = (selectedUser.Email != null) ? selectedUser.Email : " ";
            this.phoneNumberFIeld.Text = (selectedUser.PhoneNumber != null) ? selectedUser.PhoneNumber : " ";
            this.addressField.Text = (selectedUser.AddressLine != null) ? selectedUser.AddressLine : " ";
            this.postalCodeField.Text = (selectedUser.PostalCode != null) ? selectedUser.PostalCode : " ";
            this.cityField.Text = (selectedUser.City.ToString() != null) ? selectedUser.City.Name : " ";
            this.stateField.Text = (selectedUser.City.ToString() != null) ? selectedUser.City.State : " ";
            this.countryField.Text = (selectedUser.City.ToString() != null) ? selectedUser.City.Country : " ";
            this.activateField.Checked = selectedUser.IsRegistered;
            this.roleField.SelectedIndex = Convert.ToInt32(selectedUser.Role);

            foreach (var book in borrowedBooks)
            {
                if (book.ActualReturn == DateTime.MinValue)
                {
                    ListViewItem borrowedBook = new ListViewItem((book.Copy.Book.Title != null) ? book.Copy.Book.Title : " ");
                    borrowedBook.SubItems.Add((book.Copy.Book.Authors != null) ? AuthorsToString(book.Copy.Book.Authors) : " ");
                    borrowedBook.SubItems.Add((book.Copy.Publication != null) ? book.Copy.Publication.ISBN : " ");
                    borrowedBook.SubItems.Add((book.Copy.Publication != null) ? book.Copy.Publication.Year.ToString() : " ");
                    borrowedBook.SubItems.Add((book.Copy.Publication != null) ? book.Copy.Publication.Publisher.ToString() : " ");
                    borrowedBook.SubItems.Add((book.ExpectedReturn.ToShortDateString() != null) ? book.ExpectedReturn.ToShortDateString() : "");
                    borrowedBook.SubItems.Add(book.Copy.Id.ToString());
                    this.actuallyBorrowedBooks.Items.Add(borrowedBook);
                }
            }

            foreach (var reservedBook in reservedBooks)
            {
                ListViewItem reserveBook = new ListViewItem((reservedBook.ReservedCopy.Book.Title != null) ? reservedBook.ReservedCopy.Book.Title : " ");
                reserveBook.SubItems.Add((reservedBook.ReservedCopy.Book.Authors != null) ? AuthorsToString(reservedBook.ReservedCopy.Book.Authors) : " ");
                reserveBook.SubItems.Add((reservedBook.ReservedCopy.Publication != null) ? reservedBook.ReservedCopy.Publication.ISBN : " ");
                reserveBook.SubItems.Add((reservedBook.ReservedCopy.Publication != null) ? reservedBook.ReservedCopy.Publication.Year.ToString() : " ");
                reserveBook.SubItems.Add((reservedBook.ReservedCopy.Publication != null) ? reservedBook.ReservedCopy.Publication.Publisher.ToString() : " ");
                reserveBook.SubItems.Add((reservedBook.ReservedCopy.Available.ToString() != null && reservedBook.ReservedCopy.Available == false) ? "Borrowed" : "Reserved");
                reserveBook.SubItems.Add(reservedBook.ReservedCopy.Id.ToString());
                this.actuallyReservedBooks.Items.Add(reserveBook);
            }
        }
        private void LoadUserMenu(DataInterface.Entities.User currentUser)
        {
            _view.UserAction -= _userAction;

            switch (currentUser.Role)
            {
                case Role.Admin:
                    _userAction = ShowAdminPanel;
                    break;
                case Role.Librarian:
                    _userAction = ShowLibrarianPanel;
                    break;
                case Role.Reader:
                    _userAction = ReaderPanel;
                    break;
            }

            _view.UserAction += _userAction;
        }
        public BookDetailsView(DataInterface.Entities.Copy selectedBook, IEnumerable<DataInterface.Entities.Lease> borrowingUser, IEnumerable<DataInterface.Entities.Reservation> bookingUser)
        {
            InitializeComponent();

            this.bookTitleField.Text = (selectedBook.Book.Title != null) ? selectedBook.Book.Title : " ";
            this.bookAuthorField.Text = (selectedBook.Book.Authors != null) ? selectedBook.Book.Authors.ToString() : " ";
            this.bookISBNField.Text = (selectedBook.Publication.ISBN != null) ? selectedBook.Publication.ISBN : " ";
            this.bookPublishingYearField.Text = (selectedBook.Publication.Year.ToString() != null) ? selectedBook.Publication.Year.ToString() : " ";
            this.bookPublisherField.Text = (selectedBook.Publication.Publisher != null) ? selectedBook.Publication.Publisher : " ";
            this.bookStatusField.Text = " ";
            this.availableCheckBox.Checked = (selectedBook.Available!= null && selectedBook.Available==true ) ? true: false;

            foreach (var user in borrowingUser)
            {
                if(user.ActualReturn==DateTime.MinValue)
                {
                    ListViewItem selectedUser = new ListViewItem(user.User.Id.ToString());
                    selectedUser.SubItems.Add((user.User.Name != null) ? user.User.Name : " ");
                    selectedUser.SubItems.Add((user.User.Surname != null) ? user.User.Surname : " ");
                    selectedUser.SubItems.Add((user.User.Email != null) ? user.User.Email : " ");
                    selectedUser.SubItems.Add((user.User.PhoneNumber != null) ? user.User.PhoneNumber : " ");
                    this.borrowingUserListView.Items.Add(selectedUser);
                    this.borrowTimeField.Text = user.StartDate.ToShortDateString();
                }
            }

            foreach (var buser in bookingUser)
            {

                    ListViewItem selectedUser = new ListViewItem(buser.ReservedBy.Id.ToString());
                    selectedUser.SubItems.Add((buser.ReservedBy.Name != null) ? buser.ReservedBy.Name : " ");
                    selectedUser.SubItems.Add((buser.ReservedBy.Surname != null) ? buser.ReservedBy.Surname : " ");
                    selectedUser.SubItems.Add((buser.ReservedBy.Email != null) ? buser.ReservedBy.Email : " ");
                    selectedUser.SubItems.Add((buser.ReservedBy.PhoneNumber != null) ? buser.ReservedBy.PhoneNumber : " ");
                    this.bookingUserListView.Items.Add(selectedUser);
                    this.bookingUserListView.Text = buser.ReservationTime.ToShortDateString();

            }
        }
        private UserViewModel MapUserToViewModel(DataInterface.Entities.User user)
        {
            var userViewModel = new UserViewModel()
            {
                Id = user.Id,
                Email = user.Email ?? String.Empty,
                PhoneNumber = user.PhoneNumber ?? String.Empty,
                IsRegistered = user.IsRegistered,
                AddressLine = user.AddressLine ?? String.Empty,
                PostalCode = user.PostalCode ?? String.Empty,
                Role = user.Role,
                Name = user.Name ?? String.Empty,
                Surname = user.Surname ?? String.Empty,
                PESEL = user.PESEL ?? String.Empty
            };

            if (user.City != null)
            {
                userViewModel.City = user.City.Name ?? String.Empty;
                userViewModel.State = user.City.State ?? String.Empty;
                userViewModel.Country = user.City.Country ?? String.Empty;
                return userViewModel;
            }

            userViewModel.City = String.Empty;
            userViewModel.State = String.Empty;
            userViewModel.Country = String.Empty;

            return userViewModel;
        }
        private void ChangeCopyState(DataInterface.Entities.User selectedUser, bool isRegistered)
        {
            var userReservedBooks = _reservationsRepository.GetByQuery(x => x.ReservedBy.Id == selectedUser.Id);
            var allLease = _leasesRepository.GetAll();

            if (allLease != null)
            {
                foreach (var leasedCopy in allLease)
                {
                    if (userReservedBooks.Count() != 0)
                    {
                        foreach (var reseved in userReservedBooks)
                        {
                            if (reseved != null)
                            {
                                if (!isRegistered)
                                {
                                    if (leasedCopy.Copy.Id == reseved.ReservedCopy.Id && leasedCopy.ActualReturn != DateTime.MinValue && leasedCopy.Copy.Available)
                                    {
                                        if (reseved.ReservedBy.Id == selectedUser.Id)
                                        {
                                            //var reservToLease = new DataInterface.Entities.Lease(1, DateTime.Now, DateTime.Now.AddDays(14.0), DateTime.MinValue, _usersRepository.GetById(reseved.ReservedBy.Id), _bookCopiesRepository.GetById(id), new DataInterface.Entities.Fine());
                                            var reservToLease = new DataInterface.Entities.Lease();
                                            reservToLease.StartDate = DateTime.Now;
                                            reservToLease.ExpectedReturn = DateTime.Now.AddDays(reseved.ReservedCopy.Book.CategorySetting != null ? reseved.ReservedCopy.Book.CategorySetting.BorrowTime : 14);
                                            reservToLease.ActualReturn = DateTime.MinValue;
                                            reservToLease.User = _usersRepository.GetById(reseved.ReservedBy.Id);
                                            reservToLease.Copy = _bookCopiesRepository.GetById(reseved.ReservedCopy.Id);
                                            reservToLease.Copy.Available = false;
                                            reservToLease.Fine = new DataInterface.Entities.Fine();
                                            reservToLease.Fine.Paid = false;
                                            reservToLease.Fine.Amount = reseved.ReservedCopy.Book.CategorySetting != null ? reseved.ReservedCopy.Book.CategorySetting.FinePerTardinessDay : 1.0;
                                            _leasesRepository.Save(reservToLease);
                                            _reservationsRepository.DeleteById(reseved.Id);
                                            MessageBox.Show("All your reserved copy, are now borrowed by you");
                                            return;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (selectedUser.IsRegistered == false && isRegistered == true)
            {
                List<int> leaseToDelete = new List<int>();
                List<int> reservationToDelete = new List<int>();
                if (allLease != null)
                {
                    foreach (var leasedCopy in allLease)
                    {
                        if (leasedCopy.User.Id == selectedUser.Id)
                        {
                            leaseToDelete.Add(leasedCopy.Id);
                            leasedCopy.Copy.Available = true;
                        }
                    }

                    foreach (var toDelete in leaseToDelete)
                    {
                        _leasesRepository.DeleteById(toDelete);
                    }
                }

                if (userReservedBooks.Count() != 0)
                {
                    foreach (var reseved in userReservedBooks)
                    {
                        if (reseved.ReservedBy.Id == selectedUser.Id)
                            reservationToDelete.Add(reseved.Id);
                    }
                    foreach (var toDelete in reservationToDelete)
                    {
                        _reservationsRepository.DeleteById(toDelete);
                    }

                }
            }
        }