public PhonebookPage()
 {
     PhonebookViewModel = new PhonebookViewModel();
     InitializeComponent();
     BindingContext        = PhonebookViewModel;
     PhoneList.ItemsSource = PhonebookViewModel.Contacts;
 }
Esempio n. 2
0
        public static PhonebookViewModel ConvertToPhonebookViewModel(this Phonebook Phonebook)
        {
            PhonebookViewModel PhonebookViewModel = new PhonebookViewModel()
            {
                Id         = Phonebook.Id,
                Identifier = Phonebook.Identifier,

                Code = Phonebook.Code,

                Name         = Phonebook.Name,
                Country      = Phonebook.Country?.ConvertToCountryViewModelLite(),
                Region       = Phonebook.Region?.ConvertToRegionViewModelLite(),
                Municipality = Phonebook.Municipality?.ConvertToMunicipalityViewModelLite(),
                City         = Phonebook.City?.ConvertToCityViewModelLite(),

                Address = Phonebook.Address,

                IsActive = Phonebook.Active,

                CreatedBy = Phonebook.CreatedBy?.ConvertToUserViewModelLite(),
                Company   = Phonebook.Company?.ConvertToCompanyViewModelLite(),

                UpdatedAt = Phonebook.UpdatedAt,
                CreatedAt = Phonebook.CreatedAt
            };

            return(PhonebookViewModel);
        }
Esempio n. 3
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, PhonebookViewModel Phonebook)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", Phonebook.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", Phonebook.Identifier);
            insertCommand.Parameters.AddWithValue("@Code", ((object)Phonebook.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Name", ((object)Phonebook.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CountryId", ((object)Phonebook.Country?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CountryIdentifier", ((object)Phonebook.Country?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CountryCode", ((object)Phonebook.Country?.Mark) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CountryName", ((object)Phonebook.Country?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@RegionId", ((object)Phonebook.Region?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@RegionIdentifier", ((object)Phonebook.Region?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@RegionCode", ((object)Phonebook.Region?.RegionCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@RegionName", ((object)Phonebook.Region?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@MunicipalityId", ((object)Phonebook.Municipality?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@MunicipalityIdentifier", ((object)Phonebook.Municipality?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@MunicipalityCode", ((object)Phonebook.Municipality?.MunicipalityCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@MunicipalityName", ((object)Phonebook.Municipality?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CityId", ((object)Phonebook.City?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CityIdentifier", ((object)Phonebook.City?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CityCode", ((object)Phonebook.City?.ZipCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CityName", ((object)Phonebook.City?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Address", ((object)Phonebook.Address) ?? DBNull.Value);

            insertCommand.Parameters.AddWithValue("@IsSynced", Phonebook.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)Phonebook.UpdatedAt) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CreatedById", MainWindow.CurrentUser.Id);
            insertCommand.Parameters.AddWithValue("@CreatedByName", MainWindow.CurrentUser.FirstName + " " + MainWindow.CurrentUser.LastName);
            insertCommand.Parameters.AddWithValue("@CompanyId", MainWindow.CurrentCompany.Id);
            insertCommand.Parameters.AddWithValue("@CompanyName", MainWindow.CurrentCompany.CompanyName);

            return(insertCommand);
        }
Esempio n. 4
0
        public static Phonebook ConvertToPhonebook(this PhonebookViewModel PhonebookViewModel)
        {
            Phonebook Phonebook = new Phonebook()
            {
                Id         = PhonebookViewModel.Id,
                Identifier = PhonebookViewModel.Identifier,

                Code           = PhonebookViewModel.Code,
                Name           = PhonebookViewModel.Name,
                CountryId      = PhonebookViewModel?.Country?.Id ?? null,
                RegionId       = PhonebookViewModel?.Region?.Id ?? null,
                MunicipalityId = PhonebookViewModel?.Municipality?.Id ?? null,
                CityId         = PhonebookViewModel?.City?.Id ?? null,
                Address        = PhonebookViewModel.Address,

                Active      = PhonebookViewModel.IsActive,
                CreatedById = PhonebookViewModel.CreatedBy?.Id ?? null,
                CompanyId   = PhonebookViewModel.Company?.Id ?? null,

                CreatedAt = PhonebookViewModel.CreatedAt,
                UpdatedAt = PhonebookViewModel.UpdatedAt
            };

            return(Phonebook);
        }
Esempio n. 5
0
        public PhonebookResponse Create(PhonebookViewModel Phonebook)
        {
            PhonebookResponse response = new PhonebookResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, Phonebook);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
Esempio n. 6
0
        //[HttpPost]

        public ActionResult Create(PhonebookViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Phonebook Problem");
                return(View());
            }

            _phonebookService.CreatePhonebook(viewModel);
            return(View());
        }
Esempio n. 7
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            PhonebookViewModel Phonebook = new PhonebookViewModel();

            Phonebook.Identifier = Guid.NewGuid();


            Phonebook_AddEdit addEditForm = new Phonebook_AddEdit(Phonebook, true, false);

            addEditForm.PhonebookCreatedUpdated += new PhonebookHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("Telefonski_imenik")), 95, addEditForm);
        }
Esempio n. 8
0
        public void CreatePhonebook(PhonebookViewModel viewModel)
        {
            Phonebook phonebook = new Phonebook()
            {
                FirstName   = viewModel.FirstName,
                LastName    = viewModel.LastName,
                Type        = viewModel.Type,
                PhoneNumber = viewModel.PhoneNumber
            };

            _context.Phonebooks.Add(phonebook);
            _context.SaveChanges();
        }
        public Phonebook_AddEdit(PhonebookViewModel PhonebookViewModel, bool isCreateProcess, bool isPopup = false)
        {
            // Initialize service
            PhonebookService = DependencyResolver.Kernel.Get <IPhonebookService>();

            InitializeComponent();

            this.DataContext = this;

            IsHeaderCreated = !isCreateProcess;

            currentPhonebook = PhonebookViewModel;
            IsCreateProcess  = isCreateProcess;
            IsPopup          = isPopup;
        }
        public PhonebookResponse Create(PhonebookViewModel re)
        {
            PhonebookResponse response = new PhonebookResponse();

            try
            {
                response = WpfApiHandler.SendToApi <PhonebookViewModel, PhonebookResponse>(re, "Create");
            }
            catch (Exception ex)
            {
                response.Phonebook = new PhonebookViewModel();
                response.Success   = false;
                response.Message   = ex.Message;
            }

            return(response);
        }
Esempio n. 11
0
        public PhonebookListResponse GetPhonebooksForPopup(int companyId, string filterString)
        {
            PhonebookListResponse     response   = new PhonebookListResponse();
            List <PhonebookViewModel> Phonebooks = new List <PhonebookViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM Phonebooks " +
                        "WHERE (@Code IS NULL OR @Code = '' OR Code LIKE @Code OR Code LIKE @Code) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage;", db);

                    selectCommand.Parameters.AddWithValue("@Code", ((object)filterString) != null ? "%" + filterString + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", ((object)filterString) != null ? companyId : 0);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", 100);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        PhonebookViewModel dbEntry = Read(query);
                        Phonebooks.Add(dbEntry);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.Phonebooks     = new List <PhonebookViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success    = true;
            response.Phonebooks = Phonebooks;
            return(response);
        }
        public PhonebookResponse Delete(Guid identifier)
        {
            PhonebookResponse response = new PhonebookResponse();

            try
            {
                PhonebookViewModel re = new PhonebookViewModel();
                re.Identifier = identifier;
                response      = WpfApiHandler.SendToApi <PhonebookViewModel, PhonebookResponse>(re, "Delete");
            }
            catch (Exception ex)
            {
                response.Phonebook = new PhonebookViewModel();
                response.Success   = false;
                response.Message   = ex.Message;
            }

            return(response);
        }
Esempio n. 13
0
        public JsonResult Delete([FromBody] PhonebookViewModel phonebook)
        {
            PhonebookResponse response = new PhonebookResponse();

            try
            {
                response = this.phonebookService.Delete(phonebook.Identifier);
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
                Console.WriteLine(ex.Message);
            }

            return(Json(response, new Newtonsoft.Json.JsonSerializerSettings()
            {
                Formatting = Newtonsoft.Json.Formatting.Indented
            }));
        }
Esempio n. 14
0
        public static PhonebookViewModel ConvertToPhonebookViewModelLite(this Phonebook Phonebook)
        {
            PhonebookViewModel PhonebookViewModel = new PhonebookViewModel()
            {
                Id         = Phonebook.Id,
                Identifier = Phonebook.Identifier,

                Code = Phonebook.Code,
                Name = Phonebook.Name,

                Address = Phonebook.Address,

                IsActive = Phonebook.Active,

                UpdatedAt = Phonebook.UpdatedAt,
                CreatedAt = Phonebook.CreatedAt
            };

            return(PhonebookViewModel);
        }
Esempio n. 15
0
        public Phonebook_Document_AddEdit(PhonebookViewModel Phonebook)
        {
            PhonebookService         = DependencyResolver.Kernel.Get <IPhonebookService>();
            PhonebookDocumentService = DependencyResolver.Kernel.Get <IPhonebookDocumentService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentPhonebook                        = Phonebook;
            CurrentPhonebookDocumentForm            = new PhonebookDocumentViewModel();
            CurrentPhonebookDocumentForm.Identifier = Guid.NewGuid();
            CurrentPhonebookDocumentForm.ItemStatus = ItemStatus.Added;

            Thread displayThread = new Thread(() => DisplayPhonebookDocumentData());

            displayThread.IsBackground = true;
            displayThread.Start();

            btnAddDocument.Focus();
        }
Esempio n. 16
0
        public Phonebook_Phone_AddEdit(PhonebookViewModel Phonebook)
        {
            PhonebookService      = DependencyResolver.Kernel.Get <IPhonebookService>();
            PhonebookPhoneService = DependencyResolver.Kernel.Get <IPhonebookPhoneService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentPhonebook                     = Phonebook;
            CurrentPhonebookPhoneForm            = new PhonebookPhoneViewModel();
            CurrentPhonebookPhoneForm.Identifier = Guid.NewGuid();
            CurrentPhonebookPhoneForm.ItemStatus = ItemStatus.Added;
            CurrentPhonebookPhoneForm.IsSynced   = false;

            Thread displayThread = new Thread(() => DisplayPhonebookPhoneData());

            displayThread.IsBackground = true;
            displayThread.Start();

            txtName.Focus();
        }
Esempio n. 17
0
        private static PhonebookViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            PhonebookViewModel dbEntry = new PhonebookViewModel();

            dbEntry.Id           = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier   = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Code         = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Name         = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Country      = SQLiteHelper.GetCountry(query, ref counter);
            dbEntry.Region       = SQLiteHelper.GetRegion(query, ref counter);
            dbEntry.Municipality = SQLiteHelper.GetMunicipality(query, ref counter);
            dbEntry.City         = SQLiteHelper.GetCity(query, ref counter);
            dbEntry.Address      = SQLiteHelper.GetString(query, ref counter);

            dbEntry.IsSynced = SQLiteHelper.GetBoolean(query, ref counter);

            dbEntry.UpdatedAt = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.CreatedBy = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.Company   = SQLiteHelper.GetCompany(query, ref counter);
            return(dbEntry);
        }
Esempio n. 18
0
        public PhonebookResponse GetPhonebook(Guid identifier)
        {
            PhonebookResponse  response  = new PhonebookResponse();
            PhonebookViewModel Phonebook = new PhonebookViewModel();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM Phonebooks " +
                        "WHERE Identifier = @Identifier;", db);
                    selectCommand.Parameters.AddWithValue("@Identifier", identifier);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        PhonebookViewModel dbEntry = Read(query);
                        Phonebook = dbEntry;
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.Phonebook      = new PhonebookViewModel();
                    return(response);
                }
                db.Close();
            }
            response.Success   = true;
            response.Phonebook = Phonebook;
            return(response);
        }
Esempio n. 19
0
        public PhonebookResponse Create(PhonebookViewModel re)
        {
            PhonebookResponse response = new PhonebookResponse();

            try
            {
                // Backup notes
                List <PhonebookNoteViewModel> PhonebookNotes = re.PhonebookNotes?.ToList();
                re.PhonebookNotes = null;

                // Backup documents
                List <PhonebookDocumentViewModel> PhonebookDocuments = re.PhonebookDocuments?.ToList();
                re.PhonebookDocuments = null;

                // Backup phone
                List <PhonebookPhoneViewModel> PhonebookPhones = re.PhonebookPhones?.ToList();
                re.PhonebookPhones = null;

                Phonebook createdPhonebook = unitOfWork.GetPhonebookRepository().Create(re.ConvertToPhonebook());

                // Update notes
                if (PhonebookNotes != null && PhonebookNotes.Count > 0)
                {
                    // Items for create or update
                    foreach (var PhonebookNote in PhonebookNotes
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookNoteViewModel>())
                    {
                        PhonebookNote.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        PhonebookNote.ItemStatus = ItemStatus.Submited;
                        PhonebookNote createdPhonebookNote = unitOfWork.GetPhonebookNoteRepository()
                                                             .Create(PhonebookNote.ConvertToPhonebookNote());
                    }

                    foreach (var item in PhonebookNotes
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookNoteViewModel>())
                    {
                        item.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        unitOfWork.GetPhonebookNoteRepository().Create(item.ConvertToPhonebookNote());

                        unitOfWork.GetPhonebookNoteRepository().Delete(item.Identifier);
                    }
                }

                // Update documents
                if (PhonebookDocuments != null && PhonebookDocuments.Count > 0)
                {
                    // Items for create or update
                    foreach (var PhonebookDocument in PhonebookDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookDocumentViewModel>())
                    {
                        PhonebookDocument.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        PhonebookDocument.ItemStatus = ItemStatus.Submited;
                        PhonebookDocument createdPhonebookDocument = unitOfWork.GetPhonebookDocumentRepository()
                                                                     .Create(PhonebookDocument.ConvertToPhonebookDocument());
                    }

                    foreach (var item in PhonebookDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookDocumentViewModel>())
                    {
                        item.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        unitOfWork.GetPhonebookDocumentRepository().Create(item.ConvertToPhonebookDocument());

                        unitOfWork.GetPhonebookDocumentRepository().Delete(item.Identifier);
                    }
                }

                // Update Phones
                if (PhonebookPhones != null && PhonebookPhones.Count > 0)
                {
                    // Items for create or update
                    foreach (var PhonebookPhone in PhonebookPhones
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookPhoneViewModel>())
                    {
                        PhonebookPhone.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        PhonebookPhone.ItemStatus = ItemStatus.Submited;
                        PhonebookPhone createdPhonebookPhone = unitOfWork.GetPhonebookPhoneRepository()
                                                               .Create(PhonebookPhone.ConvertToPhonebookPhone());
                    }

                    foreach (var item in PhonebookPhones
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookPhoneViewModel>())
                    {
                        item.Phonebook = new PhonebookViewModel()
                        {
                            Id = createdPhonebook.Id
                        };
                        unitOfWork.GetPhonebookPhoneRepository().Create(item.ConvertToPhonebookPhone());

                        unitOfWork.GetPhonebookPhoneRepository().Delete(item.Identifier);
                    }
                }

                unitOfWork.Save();

                response.Phonebook = createdPhonebook.ConvertToPhonebookViewModel();
                response.Success   = true;
            }
            catch (Exception ex)
            {
                response.Phonebook = new PhonebookViewModel();
                response.Success   = false;
                response.Message   = ex.Message;
            }

            return(response);
        }
 public PhonebookPage()
 {
     InitializeComponent();
     BindingContext = new PhonebookViewModel(Navigation);
 }
Esempio n. 21
0
 public PhonebookList()
 {
     InitializeComponent();
     this.BindingContext = _vm = new PhonebookViewModel(Navigation);
 }
Esempio n. 22
0
        public PhonebookListResponse GetPhonebooksByPage(int companyId, PhonebookViewModel PhonebookSearchObject, int currentPage = 1, int itemsPerPage = 50)
        {
            PhonebookListResponse     response   = new PhonebookListResponse();
            List <PhonebookViewModel> Phonebooks = new List <PhonebookViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM Phonebooks " +
                        "WHERE (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " +

                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

                    selectCommand.Parameters.AddWithValue("@Name", ((object)PhonebookSearchObject.Search_Name) != null ? "%" + PhonebookSearchObject.Search_Name + "%" : "");

                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage);
                    selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        PhonebookViewModel dbEntry = Read(query);
                        Phonebooks.Add(dbEntry);
                    }


                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM Phonebooks " +
                        "WHERE (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " +

                        "AND CompanyId = @CompanyId;", db);

                    selectCommand.Parameters.AddWithValue("@Name", ((object)PhonebookSearchObject.Search_Name) != null ? "%" + PhonebookSearchObject.Search_Name + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        response.TotalItems = query.GetInt32(0);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.Phonebooks     = new List <PhonebookViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success    = true;
            response.Phonebooks = Phonebooks;
            return(response);
        }