public CallCentarListResponse GetCallCentarsByPage(int companyId, CallCentarViewModel CallCentarSearchObject, int currentPage = 1, int itemsPerPage = 50, int?userId = null) { CallCentarListResponse response = new CallCentarListResponse(); List <CallCentarViewModel> CallCentars = new List <CallCentarViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM CallCentars " + "WHERE CompanyId = @CompanyId " + "AND (@UserId IS NULL OR @UserId = '' OR UserId = @UserId) " + "ORDER BY IsSynced, ServerId " + "LIMIT @ItemsPerPage OFFSET @Offset;", db); selectCommand.Parameters.AddWithValue("@CompanyId", companyId); selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage); selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage); selectCommand.Parameters.AddWithValue("@UserId", ((object)userId ?? DBNull.Value)); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { CallCentarViewModel dbEntry = Read(query); CallCentars.Add(dbEntry); } selectCommand = new SqliteCommand( "SELECT Count(*) " + "FROM CallCentars " + "WHERE CompanyId = @CompanyId " + "AND (@UserId IS NULL OR @UserId = '' OR UserId = @UserId) ", db); selectCommand.Parameters.AddWithValue("@CompanyId", companyId); selectCommand.Parameters.AddWithValue("@UserId", ((object)userId ?? DBNull.Value)); 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.CallCentars = new List <CallCentarViewModel>(); return(response); } db.Close(); } response.Success = true; response.CallCentars = CallCentars; return(response); }
public JsonResult NotifyUser([FromBody] CallCentarViewModel c) { CallCentarResponse response = new CallCentarResponse(); try { if (c.User != null) { string target = "Korisnik_" + c.User.Id; notificationHub.Clients.Group(target).SendAsync("SendMessage", c); } response.CallCentar = c; response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = ex.Message; Console.WriteLine(ex.Message); } JsonResult result = Json(response, new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize }); return(result); }
public static CallCentar ConvertToCallCentar(this CallCentarViewModel CallCentarViewModel) { CallCentar CallCentar = new CallCentar() { Id = CallCentarViewModel.Id, Identifier = CallCentarViewModel.Identifier, Code = CallCentarViewModel.Code, ReceivingDate = CallCentarViewModel.ReceivingDate, UserId = CallCentarViewModel.User?.Id ?? null, Comment = CallCentarViewModel.Comment, EndingDate = CallCentarViewModel.EndingDate, CheckedDone = CallCentarViewModel.CheckedDone, Active = CallCentarViewModel.IsActive, CreatedById = CallCentarViewModel.CreatedBy?.Id ?? null, CompanyId = CallCentarViewModel.Company?.Id ?? null, CreatedAt = CallCentarViewModel.CreatedAt, UpdatedAt = CallCentarViewModel.UpdatedAt, }; return(CallCentar); }
public CallCentarResponse Create(CallCentarViewModel CallCentar) { CallCentarResponse response = new CallCentarResponse(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); SqliteCommand insertCommand = db.CreateCommand(); insertCommand.CommandText = SqlCommandInsertPart; try { insertCommand = AddCreateParameters(insertCommand, CallCentar); 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); } }
public static CallCentarViewModel ConvertToCallCentarViewModel(this CallCentar CallCentar) { CallCentarViewModel CallCentarViewModel = new CallCentarViewModel() { Id = CallCentar.Id, Identifier = CallCentar.Identifier, Code = CallCentar.Code, ReceivingDate = CallCentar.ReceivingDate, User = CallCentar.User?.ConvertToUserViewModelLite(), Comment = CallCentar.Comment, EndingDate = CallCentar.EndingDate, CheckedDone = CallCentar.CheckedDone, IsActive = CallCentar.Active, CreatedBy = CallCentar.CreatedBy?.ConvertToUserViewModelLite(), Company = CallCentar.Company?.ConvertToCompanyViewModelLite(), UpdatedAt = CallCentar.UpdatedAt, CreatedAt = CallCentar.CreatedAt, }; return(CallCentarViewModel); }
public CallCenterNotification_Popup(CallCentarViewModel CallCentarViewModel) { InitializeComponent(); this.DataContext = this; CurrentCallCentar = CallCentarViewModel; }
private void BtnAdd_Click(object sender, RoutedEventArgs e) { CallCentarViewModel CallCentar = new CallCentarViewModel(); CallCentar.Identifier = Guid.NewGuid(); CallCentar_AddEdit addEditForm = new CallCentar_AddEdit(CallCentar, true); addEditForm.CallCentarCreatedUpdated += new CallCentarHandler(SyncData); FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("CallCentar")), 95, addEditForm); }
public CallCentar_AddEdit(CallCentarViewModel CallCentarViewModel, bool isCreateProcess, bool isPopup = false) { CallCentarService = DependencyResolver.Kernel.Get <ICallCentarService>(); InitializeComponent(); this.DataContext = this; CurrentCallCentar = CallCentarViewModel; IsCreateProcess = isCreateProcess; IsPopup = isPopup; }
public CallCentarResponse NotifyUser(CallCentarViewModel callCentar) { CallCentarResponse response = new CallCentarResponse(); try { response = WpfApiHandler.SendToApi <CallCentarViewModel, CallCentarResponse>(callCentar, "NotifyUser"); } catch (Exception ex) { response.CallCentar = new CallCentarViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public async Task OnNotification(CallCentarViewModel callCenter) { string kome = "Korisnik_" + (callCenter?.User?.Id ?? 0); if (!String.IsNullOrEmpty(kome)) { var group = Clients.Group(kome); if (group != null) { await Clients.Group(kome).SendAsync("OnNotification", callCenter); } } else { await Clients.All.SendAsync("OnNotification", callCenter); } //await Clients.All.SendAsync("ReceiveMessage", message); }
public CallCentarResponse Delete(Guid identifier) { CallCentarResponse response = new CallCentarResponse(); try { CallCentarViewModel CallCentar = new CallCentarViewModel(); CallCentar.Identifier = identifier; response = WpfApiHandler.SendToApi <CallCentarViewModel, CallCentarResponse>(CallCentar, "Delete"); } catch (Exception ex) { response.CallCentar = new CallCentarViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public CallCentarListResponse GetCallCentarsForPopup(int companyId, string filterString) { CallCentarListResponse response = new CallCentarListResponse(); List <CallCentarViewModel> CallCentars = new List <CallCentarViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM CallCentars " + "WHERE CompanyId = @CompanyId " + "ORDER BY IsSynced, Id DESC " + "LIMIT @ItemsPerPage;", db); selectCommand.Parameters.AddWithValue("@CompanyId", ((object)filterString) != null ? companyId : 0); selectCommand.Parameters.AddWithValue("@ItemsPerPage", 100); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { CallCentarViewModel dbEntry = Read(query); CallCentars.Add(dbEntry); } } catch (SqliteException error) { MainWindow.ErrorMessage = error.Message; response.Success = false; response.Message = error.Message; response.CallCentars = new List <CallCentarViewModel>(); return(response); } db.Close(); } response.Success = true; response.CallCentars = CallCentars; return(response); }
private CallCentarViewModel Read(SqliteDataReader query) { int counter = 0; CallCentarViewModel dbEntry = new CallCentarViewModel(); dbEntry.Id = SQLiteHelper.GetInt(query, ref counter); dbEntry.Identifier = SQLiteHelper.GetGuid(query, ref counter); dbEntry.Code = SQLiteHelper.GetString(query, ref counter); dbEntry.ReceivingDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.User = SQLiteHelper.GetUser(query, ref counter); dbEntry.Comment = SQLiteHelper.GetString(query, ref counter); dbEntry.EndingDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.CheckedDone = SQLiteHelper.GetBoolean(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); }
public CallCentarResponse Create(CallCentarViewModel re) { CallCentarResponse response = new CallCentarResponse(); try { CallCentar addedCallCentar = unitOfWork.GetCallCentarRepository().Create(re.ConvertToCallCentar()); unitOfWork.Save(); response.CallCentar = addedCallCentar.ConvertToCallCentarViewModel(); response.Success = true; } catch (Exception ex) { response.CallCentar = new CallCentarViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public CallCentarResponse GetCallCentar(Guid identifier) { CallCentarResponse response = new CallCentarResponse(); CallCentarViewModel CallCentar = null; using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM CallCentars " + "WHERE Identifier = @Identifier;", db); selectCommand.Parameters.AddWithValue("@Identifier", identifier); SqliteDataReader query = selectCommand.ExecuteReader(); if (query.Read()) { CallCentarViewModel dbEntry = Read(query); CallCentar = dbEntry; } } catch (SqliteException error) { MainWindow.ErrorMessage = error.Message; response.Success = false; response.Message = error.Message; response.CallCentar = new CallCentarViewModel(); return(response); } db.Close(); } response.Success = true; response.CallCentar = CallCentar; return(response); }
public JsonResult Delete([FromBody] CallCentarViewModel callCentar) { CallCentarResponse response = new CallCentarResponse(); try { response = this.callCentarService.Delete(callCentar.Identifier); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; Console.WriteLine(ex.Message); } JsonResult result = Json(response, new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize }); return(result); }
public SqliteCommand AddCreateParameters(SqliteCommand insertCommand, CallCentarViewModel CallCentar) { insertCommand.Parameters.AddWithValue("@ServerId", CallCentar.Id); insertCommand.Parameters.AddWithValue("@Identifier", CallCentar.Identifier); insertCommand.Parameters.AddWithValue("@Code", ((object)CallCentar.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@ReceivingDate", ((object)CallCentar.ReceivingDate) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@UserId", ((object)CallCentar.User?.Id) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@UserIdentifier", ((object)CallCentar.User?.Identifier) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@UserCode", ((object)CallCentar.User?.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@UserFirstName", ((object)CallCentar.User?.FirstName) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@UserLastName", ((object)CallCentar.User?.LastName) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@Comment", ((object)CallCentar.Comment) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EndingDate", ((object)CallCentar.EndingDate) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@CheckedDone", ((object)CallCentar.CheckedDone) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@IsSynced", CallCentar.IsSynced); insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)CallCentar.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); }
private void BtnSubmit_Click(object sender, RoutedEventArgs e) { #region Validation if (String.IsNullOrEmpty(CurrentCallCentar.User.FirstName)) { MainWindow.WarningMessage = ((string)Application.Current.FindResource("ObaveznoPoljeKorisnik")); return; } #endregion Thread th = new Thread(() => { SubmitButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke")); SubmitButtonEnabled = false; CurrentCallCentar.IsSynced = false; CurrentCallCentar.Company = new CompanyViewModel() { Id = MainWindow.CurrentCompanyId }; CurrentCallCentar.CreatedBy = new UserViewModel() { Id = MainWindow.CurrentUserId }; CallCentarResponse response = new CallCentarSQLiteRepository().Delete(CurrentCallCentar.Identifier); response = new CallCentarSQLiteRepository().Create(CurrentCallCentar); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; return; } response = CallCentarService.Create(CurrentCallCentar); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; } if (response.Success) { MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_sačuvaniUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; CallCentarCreatedUpdated(); if (IsCreateProcess) { CurrentCallCentar = new CallCentarViewModel(); CurrentCallCentar.Identifier = Guid.NewGuid(); Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { dtReceivingDate.Focus(); }) ); } else { Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { if (IsPopup) { FlyoutHelper.CloseFlyoutPopup(this); } else { FlyoutHelper.CloseFlyout(this); } }) ); } } }); th.IsBackground = true; th.Start(); }
public CallCentarResponse NotifyUser(CallCentarViewModel callCentar) { // Nema potrebe za implementacijom jer se sve izvrsava u kontroleru return(null); }