private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, EmployeeByConstructionSiteViewModel employeeByConstructionSite) { insertCommand.Parameters.AddWithValue("@ServerId", employeeByConstructionSite.Id); insertCommand.Parameters.AddWithValue("@Identifier", employeeByConstructionSite.Identifier); insertCommand.Parameters.AddWithValue("@Code", ((object)employeeByConstructionSite.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@StartDate", ((object)employeeByConstructionSite.StartDate) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EndDate", ((object)employeeByConstructionSite.EndDate) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@RealEndDate", ((object)employeeByConstructionSite.RealEndDate) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EmployeeId", ((object)employeeByConstructionSite.Employee?.Id) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EmployeeIdentifier", ((object)employeeByConstructionSite.Employee?.Identifier) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EmployeeCode", ((object)employeeByConstructionSite.Employee?.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EmployeeName", ((object)employeeByConstructionSite.Employee?.Name) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@EmployeeInternalCode", ((object)employeeByConstructionSite.Employee?.EmployeeCode) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerId", ((object)employeeByConstructionSite.BusinessPartner?.Id) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", ((object)employeeByConstructionSite.BusinessPartner?.Identifier) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerCode", ((object)employeeByConstructionSite.BusinessPartner?.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerName", ((object)employeeByConstructionSite.BusinessPartner?.Name) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerInternalCode", ((object)employeeByConstructionSite.BusinessPartner?.InternalCode) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@BusinessPartnerNameGer", ((object)employeeByConstructionSite.BusinessPartner?.NameGer) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@ConstructionSiteId", ((object)employeeByConstructionSite.ConstructionSite?.Id) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@ConstructionSiteIdentifier", ((object)employeeByConstructionSite.ConstructionSite?.Identifier) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@ConstructionSiteCode", ((object)employeeByConstructionSite.ConstructionSite?.Code) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@ConstructionSiteName", ((object)employeeByConstructionSite.ConstructionSite?.Name) ?? DBNull.Value); insertCommand.Parameters.AddWithValue("@IsSynced", employeeByConstructionSite.IsSynced); insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)employeeByConstructionSite.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); }
public EmployeeByConstructionSiteResponse Create(EmployeeByConstructionSiteViewModel employeeByConstructionSite) { EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); SqliteCommand insertCommand = db.CreateCommand(); insertCommand.CommandText = SqlCommandInsertPart; try { insertCommand = AddCreateParameters(insertCommand, employeeByConstructionSite); 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 EmployeeByConstructionSiteViewModel ConvertToEmployeeByConstructionSiteViewModelLite(this EmployeeByConstructionSite employeeByConstructionSite) { EmployeeByConstructionSiteViewModel remedyViewModel = new EmployeeByConstructionSiteViewModel() { Id = employeeByConstructionSite.Id, Identifier = employeeByConstructionSite.Identifier, Code = employeeByConstructionSite.Code, StartDate = employeeByConstructionSite.StartDate, EndDate = employeeByConstructionSite.EndDate, RealEndDate = employeeByConstructionSite.RealEndDate, EmployeeCount = employeeByConstructionSite.EmployeeCount, BusinessPartnerCount = employeeByConstructionSite.BusinessPartnerCount, IsActive = employeeByConstructionSite.Active, UpdatedAt = employeeByConstructionSite.UpdatedAt, CreatedAt = employeeByConstructionSite.CreatedAt }; return(remedyViewModel); }
public static EmployeeByConstructionSite ConvertToEmployeeByConstructionSite(this EmployeeByConstructionSiteViewModel employeeByConstructionSiteViewModel) { EmployeeByConstructionSite employeeByConstructionSite = new EmployeeByConstructionSite() { Id = employeeByConstructionSiteViewModel.Id, Identifier = employeeByConstructionSiteViewModel.Identifier, Code = employeeByConstructionSiteViewModel.Code, StartDate = employeeByConstructionSiteViewModel.StartDate, EndDate = employeeByConstructionSiteViewModel.EndDate, RealEndDate = employeeByConstructionSiteViewModel.RealEndDate, EmployeeId = employeeByConstructionSiteViewModel.Employee?.Id ?? null, EmployeeCount = employeeByConstructionSiteViewModel.EmployeeCount, BusinessPartnerId = employeeByConstructionSiteViewModel.BusinessPartner?.Id ?? null, BusinessPartnerCount = employeeByConstructionSiteViewModel.BusinessPartnerCount, ConstructionSiteId = employeeByConstructionSiteViewModel.ConstructionSite?.Id ?? null, CreatedById = employeeByConstructionSiteViewModel.CreatedBy?.Id ?? null, CompanyId = employeeByConstructionSiteViewModel.Company?.Id ?? null, CreatedAt = employeeByConstructionSiteViewModel.CreatedAt, UpdatedAt = employeeByConstructionSiteViewModel.UpdatedAt }; return(employeeByConstructionSite); }
private void btnAdd_Click(object sender, RoutedEventArgs e) { #region Validation if (CurrentEmployeeNotOnConstructionSite == null) { MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_poljeDvotačka_Radnik_bez_gradilišta")); return; } #endregion Thread th = new Thread(() => { EmployeeByConstructionSiteViewModel employeeByConstructionSite = new EmployeeByConstructionSiteViewModel() { Identifier = Guid.NewGuid(), Employee = CurrentEmployeeNotOnConstructionSite, ConstructionSite = CurrentConstructionSite, BusinessPartner = CurrentBusinessPartner, StartDate = CurrentEmployeeNotOnConstructionSite.ContractStartDate, EndDate = CurrentEmployeeNotOnConstructionSite.ContractEndDate, Company = new CompanyViewModel() { Id = MainWindow.CurrentCompanyId }, CreatedBy = new UserViewModel() { Id = MainWindow.CurrentUserId } }; EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteSQLiteRepository().Create(employeeByConstructionSite); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik")); return; } response = employeeByConstructionSiteService.Create(employeeByConstructionSite); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik")); return; } MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_unetiUzvičnik")); DisplayEmployeesNotOnConstructionSiteData(); DisplayEmployeesOnConstructionSiteData(); }); th.IsBackground = true; th.Start(); }
public EmployeeByConstructionSiteResponse Delete(EmployeeByConstructionSiteViewModel employeeByConstructionSite) { EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse(); try { response = WpfApiHandler.SendToApi <EmployeeByConstructionSiteViewModel, EmployeeByConstructionSiteResponse>(employeeByConstructionSite, "Delete"); } catch (Exception ex) { response.EmployeeByConstructionSite = new EmployeeByConstructionSiteViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public EmployeeByConstructionSiteResponse Create(EmployeeByConstructionSiteViewModel re) { EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse(); try { ConstructionSite constructionSite = unitOfWork.GetConstructionSiteRepository().GetConstructionSite(re.ConstructionSite.Id); Employee employee = unitOfWork.GetEmployeeRepository().GetEmployeeEntity(re.Employee.Id); employee.ConstructionSiteCode = constructionSite.InternalCode; employee.ConstructionSiteName = constructionSite.Name; employee.UpdatedAt = DateTime.Now; EmployeeByConstructionSite addedEmployeeByConstructionSite = unitOfWork.GetEmployeeByConstructionSiteRepository().Create(re.ConvertToEmployeeByConstructionSite()); EmployeeCard ec = new EmployeeCard() { Identifier = Guid.NewGuid(), EmployeeId = re.Employee.Id, CardDate = addedEmployeeByConstructionSite.StartDate, Description = "Radnik " + employee?.Name + " " + employee?.SurName + " je krenuo da radi na gradilištu " + constructionSite?.Name + ". Radnik je na gradilištu od: " + re.StartDate.ToString("dd.MM.yyyy") + " do " + re.EndDate.ToString("dd.MM.yyyy"), PlusMinus = "+", CreatedById = re.CreatedBy?.Id, CompanyId = re.Company?.Id, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; unitOfWork.GetEmployeeCardRepository().Create(ec); unitOfWork.Save(); response.EmployeeByConstructionSite = addedEmployeeByConstructionSite.ConvertToEmployeeByConstructionSiteViewModel(); response.Success = true; } catch (Exception ex) { response.EmployeeByConstructionSite = new EmployeeByConstructionSiteViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public EmployeeByConstructionSiteListResponse GetByEmployee(int companyId, Guid EmployeeIdentifier) { EmployeeByConstructionSiteListResponse response = new EmployeeByConstructionSiteListResponse(); List <EmployeeByConstructionSiteViewModel> EmployeeByConstructionSites = new List <EmployeeByConstructionSiteViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( SqlCommandSelectPart + "FROM EmployeeByConstructionSites " + "WHERE EmployeeIdentifier = @EmployeeIdentifier " + "AND CompanyId = @CompanyId " + "ORDER BY IsSynced, Id DESC;", db); selectCommand.Parameters.AddWithValue("@EmployeeIdentifier", EmployeeIdentifier); selectCommand.Parameters.AddWithValue("@CompanyId", companyId); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { EmployeeByConstructionSiteViewModel dbEntry = Read(query); EmployeeByConstructionSites.Add(dbEntry); } } catch (SqliteException error) { MainWindow.ErrorMessage = error.Message; response.Success = false; response.Message = error.Message; response.EmployeeByConstructionSites = new List <EmployeeByConstructionSiteViewModel>(); return(response); } db.Close(); } response.Success = true; response.EmployeeByConstructionSites = EmployeeByConstructionSites; return(response); }
public EmployeeByConstructionSiteResponse Delete(EmployeeByConstructionSiteViewModel re) { EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse(); try { EmployeeByConstructionSite deletedEmployeeByConstructionSite = unitOfWork.GetEmployeeByConstructionSiteRepository().Delete(re.ConvertToEmployeeByConstructionSite()); Employee employee = unitOfWork.GetEmployeeRepository().GetEmployeeEntity((int)deletedEmployeeByConstructionSite.EmployeeId); ConstructionSite constructionSite = unitOfWork.GetConstructionSiteRepository().GetConstructionSite((int)deletedEmployeeByConstructionSite.ConstructionSiteId); employee.ConstructionSiteCode = ""; employee.ConstructionSiteName = ""; employee.UpdatedAt = DateTime.Now; EmployeeCard ec = new EmployeeCard() { Identifier = Guid.NewGuid(), EmployeeId = deletedEmployeeByConstructionSite.Employee.Id, CardDate = (DateTime)deletedEmployeeByConstructionSite.RealEndDate, Description = "Radnik " + employee?.Name + " " + employee.SurName + " je prestao da radi na gradilištu " + constructionSite?.Name + ". Prestanak je od: " + ((DateTime)deletedEmployeeByConstructionSite.RealEndDate).ToString("dd.MM.yyyy"), CreatedById = deletedEmployeeByConstructionSite.CreatedById, PlusMinus = "-", CompanyId = deletedEmployeeByConstructionSite.CompanyId, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; unitOfWork.GetEmployeeCardRepository().Create(ec); unitOfWork.Save(); response.EmployeeByConstructionSite = deletedEmployeeByConstructionSite.ConvertToEmployeeByConstructionSiteViewModel(); response.Success = true; } catch (Exception ex) { response.EmployeeByConstructionSite = new EmployeeByConstructionSiteViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }
public JsonResult Delete([FromBody] EmployeeByConstructionSiteViewModel employeeByConstructionSite) { EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse(); try { response = this.employeeByConstructionSiteService.Delete(employeeByConstructionSite); } 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 })); }
private EmployeeByConstructionSiteViewModel Read(SqliteDataReader query) { int counter = 0; EmployeeByConstructionSiteViewModel dbEntry = new EmployeeByConstructionSiteViewModel(); dbEntry.Id = SQLiteHelper.GetInt(query, ref counter); dbEntry.Identifier = SQLiteHelper.GetGuid(query, ref counter); dbEntry.Code = SQLiteHelper.GetString(query, ref counter); dbEntry.StartDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.EndDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.RealEndDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.Employee = SQLiteHelper.GetEmployee(query, ref counter); dbEntry.BusinessPartner = SQLiteHelper.GetBusinessPartner(query, ref counter); dbEntry.ConstructionSite = SQLiteHelper.GetConstructionSite(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 EmployeeByConstructionSiteListResponse GetByConstructionSiteAndBusinessPartner(Guid constructionSiteIdentifier, Guid?businessPartnerIdentifier, int currentPage = 1, int itemsPerPage = 50) { EmployeeByConstructionSiteListResponse response = new EmployeeByConstructionSiteListResponse(); List <EmployeeByConstructionSiteViewModel> employeeByConstructionSites = new List <EmployeeByConstructionSiteViewModel>(); using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db")) { db.Open(); try { SqliteCommand selectCommand = new SqliteCommand( "SELECT ecs.ServerId, ecs.Identifier, ecs.Code, ecs.StartDate, ecs.EndDate, ecs.RealEndDate, " + "ecs.EmployeeId, ecs.EmployeeIdentifier, ecs.EmployeeCode, ecs.EmployeeName, ecs.EmployeeInternalCode, e.SurName, e.Passport, " + "ecs.BusinessPartnerId, ecs.BusinessPartnerIdentifier, ecs.BusinessPartnerCode, ecs.BusinessPartnerName, ecs.BusinessPartnerInternalCode, ecs.BusinessPartnerNameGer, " + "ecs.ConstructionSiteId, ecs.ConstructionSiteIdentifier, ecs.ConstructionSiteCode, ecs.ConstructionSiteName, " + "ecs.IsSynced, ecs.UpdatedAt, ecs.CreatedById, ecs.CreatedByName, ecs.CompanyId, ecs.CompanyName " + "FROM EmployeeByConstructionSites ecs, Employees e " + "WHERE ecs.ConstructionSiteIdentifier = @ConstructionSiteIdentifier " + "AND ecs.EmployeeIdentifier = e.Identifier " + "AND (@BusinessPartnerIdentifier IS NULL OR ecs.BusinessPartnerIdentifier = @BusinessPartnerIdentifier) " + "ORDER BY ecs.ServerId " + "LIMIT @ItemsPerPage OFFSET @Offset;", db); selectCommand.Parameters.AddWithValue("@ConstructionSiteIdentifier", constructionSiteIdentifier); selectCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", ((object)businessPartnerIdentifier) != null ? (Guid)businessPartnerIdentifier : (object)DBNull.Value); selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage); selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) { int counter = 0; EmployeeByConstructionSiteViewModel dbEntry = new EmployeeByConstructionSiteViewModel(); dbEntry.Id = SQLiteHelper.GetInt(query, ref counter); dbEntry.Identifier = SQLiteHelper.GetGuid(query, ref counter); dbEntry.Code = SQLiteHelper.GetString(query, ref counter); dbEntry.StartDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.EndDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.RealEndDate = SQLiteHelper.GetDateTime(query, ref counter); dbEntry.Employee = SQLiteHelper.GetEmployeeFull(query, ref counter); dbEntry.BusinessPartner = SQLiteHelper.GetBusinessPartner(query, ref counter); dbEntry.ConstructionSite = SQLiteHelper.GetConstructionSite(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); employeeByConstructionSites.Add(dbEntry); } selectCommand = new SqliteCommand( "SELECT COUNT(*) " + "FROM EmployeeByConstructionSites ecs, Employees e " + "WHERE ecs.ConstructionSiteIdentifier = @ConstructionSiteIdentifier " + "AND ecs.EmployeeIdentifier = e.Identifier " + "AND (@BusinessPartnerIdentifier IS NULL OR ecs.BusinessPartnerIdentifier = @BusinessPartnerIdentifier) " + "ORDER BY ecs.ServerId;", db); selectCommand.Parameters.AddWithValue("@ConstructionSiteIdentifier", constructionSiteIdentifier); selectCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", ((object)businessPartnerIdentifier) != null ? (Guid)businessPartnerIdentifier : (object)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.EmployeeByConstructionSites = new List <EmployeeByConstructionSiteViewModel>(); return(response); } db.Close(); } response.Success = true; response.EmployeeByConstructionSites = employeeByConstructionSites; return(response); }