public CompanyListResponse Sync(SyncCompanyRequest request) { CompanyListResponse response = new CompanyListResponse(); try { response = WpfApiHandler.SendToApi <SyncCompanyRequest, CompanyViewModel, CompanyListResponse>(request, "Sync"); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(response); }
public CompanyListResponse GetCompanies() { CompanyListResponse response = new CompanyListResponse(); try { response = WpfApiHandler.GetFromApi <List <CompanyViewModel>, CompanyListResponse>("GetCompanies", null); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(response); }
private void PopulateFromDb(string filterString = "") { try { Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { CompanyListResponse response = companyService.GetCompanies(); if (response.Success) { CompaniesFromDB = new ObservableCollection <CompanyViewModel>(response.Companies ?? new List <CompanyViewModel>()); } }) ); } catch (Exception) { } }
public CompanyListResponse GetCompaniesNewerThan(DateTime?dateFrom) { CompanyListResponse response = new CompanyListResponse(); try { response.Companies = unitOfWork.GetCompanyRepository().GetCompaniesNewerThan((DateTime)dateFrom) .ConvertToCompanyViewModelList(); response.Success = true; } catch (Exception ex) { response.Companies = null; response.Success = false; response.Message = ex.Message; } return(response); }
public JsonResult Sync([FromBody] SyncCompanyRequest request) { CompanyListResponse response = new CompanyListResponse(); try { response = this.companyService.Sync(request); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(Json(response, new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented })); }
public CompanyListResponse GetCompanies() { CompanyListResponse response = new CompanyListResponse(); List <CompanyViewModel> companies = new List <CompanyViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM Companies", db); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { int counter = 0; CompanyViewModel dbEntry = new CompanyViewModel(); dbEntry.Id = SQLiteHelper.GetInt(query, ref counter); dbEntry.CompanyCode = SQLiteHelper.GetInt(query, ref counter); dbEntry.CompanyName = SQLiteHelper.GetString(query, ref counter); dbEntry.Address = SQLiteHelper.GetString(query, ref counter); dbEntry.IsSynced = SQLiteHelper.GetBoolean(query, ref counter); dbEntry.UpdatedAt = SQLiteHelper.GetDateTime(query, ref counter); companies.Add(dbEntry); } } catch (SqliteException error) { response.Success = false; response.Message = error.Message; response.Companies = new List <CompanyViewModel>(); return(response); } db.Close(); } response.Success = true; response.Companies = companies; return(response); }
public CompanyListResponse GetCompanies(CompanyViewModel filterObject) { CompanyListResponse response = new CompanyListResponse(); List <CompanyViewModel> companies = new List <CompanyViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM Companies " + "WHERE (@Code IS NULL OR @Code = '' OR Code LIKE @Code) " + "AND (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " + "AND (@PIB IS NULL OR @PIB = '' OR PIBNumber LIKE @PIB)", db); selectCommand.Parameters.AddWithValue("@Code", ((object)filterObject?.Search_Code) != null ? "%" + filterObject.Search_Code + "%" : ""); selectCommand.Parameters.AddWithValue("@Name", ((object)filterObject?.Search_Name) != null ? "%" + filterObject.Search_Name + "%" : ""); selectCommand.Parameters.AddWithValue("@PIB", ((object)filterObject?.Search_Pib) != null ? "%" + filterObject.Search_Pib + "%" : ""); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { companies.Add(Read(query)); } } catch (SqliteException error) { response.Success = false; response.Message = error.Message; response.Companies = new List <CompanyViewModel>(); return(response); } db.Close(); } response.Success = true; response.Companies = companies; return(response); }
public CompanyListResponse GetCompaniesNewerThan(DateTime?dateFrom) { CompanyListResponse response = new CompanyListResponse(); try { response = WpfApiHandler.GetFromApi <List <CompanyViewModel>, CompanyListResponse>("GetCompaniesNewerThan", new Dictionary <string, string>() { { "dateFrom", dateFrom.ToString() } }); } catch (Exception ex) { response.Success = false; response.Companies = new List <CompanyViewModel>(); response.Message = ex.Message; } return(response); }
public JsonResult GetCompanies() { CompanyListResponse response = new CompanyListResponse(); try { response = companyService.GetCompanies(); Console.WriteLine(response.Companies); } catch (Exception ex) { Console.Write(ex.Message); response.Message = ex.Message; response.Success = false; } return(Json(response, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); }
private void PopulateFromDb(string filterString = "") { try { Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { // Take current company from logged user CustomPrincipal customPrincipal = Thread.CurrentPrincipal as CustomPrincipal; int currentCompanyId = customPrincipal.Identity.CompanyId; CompanyListResponse response = companyService.GetCompanies(); if (response.Success) { CompaniesFromDB = new ObservableCollection <CompanyViewModel>(response.Companies ?? new List <CompanyViewModel>()); } }) ); } catch (Exception) { } }
public CompanyListResponse Sync(SyncCompanyRequest request) { CompanyListResponse response = new CompanyListResponse(); List <CompanyViewModel> comp = new List <CompanyViewModel>(); try { if (request.LastUpdatedAt == null) { var comp2 = unitOfWork.GetCompanyRepository() ?.GetCompanies() ?.ConvertToCompanyViewModelList(); comp.AddRange(comp2); } else { var comp2 = unitOfWork.GetCompanyRepository() ?.GetCompaniesNewerThan((DateTime)request.LastUpdatedAt) ?.ConvertToCompanyViewModelList(); comp.AddRange(comp2); } response.Companies = comp; response.Success = true; } catch (Exception ex) { response.Companies = null; response.Success = false; response.Message = ex.Message; } return(response); }
public void Sync(ICompanyService compService, Action <int, int> callback = null) { try { SyncCompanyRequest request = new SyncCompanyRequest(); request.LastUpdatedAt = GetLastUpdatedAt(); int toSync = 0; int syncedItems = 0; CompanyListResponse response = compService.Sync(request); if (response.Success) { toSync = response?.Companies?.Count ?? 0; List <CompanyViewModel> companiesFromDB = response.Companies; using (SqliteConnection db = new SqliteConnection(SQLiteHelper.SqLiteTableName)) { db.Open(); using (var transaction = db.BeginTransaction()) { SqliteCommand deleteCommand = db.CreateCommand(); deleteCommand.CommandText = "DELETE FROM Companies WHERE Identifier = @Identifier"; SqliteCommand insertCommand = db.CreateCommand(); insertCommand.CommandText = SqlCommandInsertPart; foreach (var company in companiesFromDB) { deleteCommand.Parameters.AddWithValue("@Identifier", company.Identifier); deleteCommand.ExecuteNonQuery(); deleteCommand.Parameters.Clear(); if (company.IsActive) { company.IsSynced = true; insertCommand = AddCreateParameters(insertCommand, company); insertCommand.ExecuteNonQuery(); insertCommand.Parameters.Clear(); syncedItems++; callback?.Invoke(syncedItems, toSync); } } transaction.Commit(); } db.Close(); } } else { throw new Exception(response.Message); } } catch (Exception ex) { MainWindow.ErrorMessage = ex.Message; } }
public LoginWindow() { companyService = DependencyResolver.Kernel.Get <ICompanyService>(); authenticationService = DependencyResolver.Kernel.Get <IAuthenticationService>(); userService = DependencyResolver.Kernel.Get <IUserService>(); compUserService = DependencyResolver.Kernel.Get <ICompanyUserService>(); InitializeComponent(); this.DataContext = this; notifier = new Notifier(cfg => { cfg.PositionProvider = new WindowPositionProvider( parentWindow: Application.Current.MainWindow, corner: Corner.TopRight, offsetX: 10, offsetY: 10); cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor( notificationLifetime: TimeSpan.FromSeconds(3), maximumNotificationCount: MaximumNotificationCount.FromCount(3)); cfg.Dispatcher = Application.Current.Dispatcher; }); SQLiteInitializer.Initalize(false); new CompanySQLiteRepository().Sync(companyService); new UserSQLiteRepository().Sync(userService); new CompanyUserSQLiteRepository().Sync(compUserService); // Set company combobox List <CompanyViewModel> companiesFromDb = new List <CompanyViewModel>(); try { companiesFromDb.Add(new CompanyViewModel() { CompanyName = "Odaberite firmu", CompanyCode = "0" }); CompanyListResponse response = companyService.GetCompanies(); if (response.Success && response.Companies != null && response.Companies.Count > 0) { companiesFromDb.AddRange(response.Companies.OrderBy(x => x.CompanyName)); } } catch (Exception ex) { CompanyListResponse response = new CompanySQLiteRepository().GetCompanies(null);//companyService.GetCompanies(); if (response.Success && response.Companies != null && response.Companies.Count > 0) { companiesFromDb.AddRange(response.Companies.OrderBy(x => x.CompanyName)); } } CompaniesFromDB = new ObservableCollection <CompanyViewModel>(companiesFromDb ?? new List <CompanyViewModel>()); CurrentCompany = CompaniesFromDB.FirstOrDefault(); // Set focus txtUsername.Focus(); InitializeUpdater(); }