Beispiel #1
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, EmployeeByBusinessPartnerViewModel employeeByBusinessPartner)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", employeeByBusinessPartner.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", employeeByBusinessPartner.Identifier);
            insertCommand.Parameters.AddWithValue("@Code", ((object)employeeByBusinessPartner.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@StartDate", ((object)employeeByBusinessPartner.StartDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EndDate", ((object)employeeByBusinessPartner.EndDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@RealEndDate", ((object)employeeByBusinessPartner.RealEndDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeId", ((object)employeeByBusinessPartner.Employee?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeIdentifier", ((object)employeeByBusinessPartner.Employee?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeCode", ((object)employeeByBusinessPartner.Employee?.EmployeeCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeName", ((object)employeeByBusinessPartner.Employee?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeInternalCode", ((object)employeeByBusinessPartner.Employee?.EmployeeCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerId", ((object)employeeByBusinessPartner.BusinessPartner?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", ((object)employeeByBusinessPartner.BusinessPartner?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerCode", ((object)employeeByBusinessPartner.BusinessPartner?.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerName", ((object)employeeByBusinessPartner.BusinessPartner?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerInternalCode", ((object)employeeByBusinessPartner.BusinessPartner?.InternalCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerNameGer", ((object)employeeByBusinessPartner.BusinessPartner?.NameGer) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@IsSynced", employeeByBusinessPartner.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)employeeByBusinessPartner.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);
        }
Beispiel #2
0
        public EmployeeByBusinessPartnerResponse Create(EmployeeByBusinessPartnerViewModel employeeByBusinessPartner)
        {
            EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, employeeByBusinessPartner);
                    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 EmployeeByBusinessPartner ConvertToEmployeeByBusinessPartner(this EmployeeByBusinessPartnerViewModel employeeByBusinessPartnerViewModel)
        {
            EmployeeByBusinessPartner employeeByBusinessPartner = new EmployeeByBusinessPartner()
            {
                Id         = employeeByBusinessPartnerViewModel.Id,
                Identifier = employeeByBusinessPartnerViewModel.Identifier,

                Code        = employeeByBusinessPartnerViewModel.Code,
                StartDate   = employeeByBusinessPartnerViewModel.StartDate,
                EndDate     = employeeByBusinessPartnerViewModel.EndDate,
                RealEndDate = employeeByBusinessPartnerViewModel.RealEndDate,

                EmployeeId        = employeeByBusinessPartnerViewModel.Employee?.Id ?? null,
                EmployeeCount     = employeeByBusinessPartnerViewModel.EmployeeCount,
                BusinessPartnerId = employeeByBusinessPartnerViewModel.BusinessPartner?.Id ?? null,

                CreatedById = employeeByBusinessPartnerViewModel.CreatedBy?.Id ?? null,
                CompanyId   = employeeByBusinessPartnerViewModel.Company?.Id ?? null,

                CreatedAt = employeeByBusinessPartnerViewModel.CreatedAt,
                UpdatedAt = employeeByBusinessPartnerViewModel.UpdatedAt
            };

            return(employeeByBusinessPartner);
        }
        public static EmployeeByBusinessPartnerViewModel ConvertToEmployeeByBusinessPartnerViewModel(this EmployeeByBusinessPartner employeeByBusinessPartner)
        {
            EmployeeByBusinessPartnerViewModel remedyViewModel = new EmployeeByBusinessPartnerViewModel()
            {
                Id         = employeeByBusinessPartner.Id,
                Identifier = employeeByBusinessPartner.Identifier,

                Code = employeeByBusinessPartner.Code,

                StartDate   = employeeByBusinessPartner.StartDate,
                EndDate     = employeeByBusinessPartner.EndDate,
                RealEndDate = employeeByBusinessPartner.RealEndDate,

                Employee        = employeeByBusinessPartner.Employee?.ConvertToEmployeeViewModelLite(),
                EmployeeCount   = employeeByBusinessPartner.EmployeeCount,
                BusinessPartner = employeeByBusinessPartner.BusinessPartner?.ConvertToBusinessPartnerViewModelLite(),

                IsActive = employeeByBusinessPartner.Active,

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

                UpdatedAt = employeeByBusinessPartner.UpdatedAt,
                CreatedAt = employeeByBusinessPartner.CreatedAt
            };



            return(remedyViewModel);
        }
Beispiel #5
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (CurrentEmployeeNotOnBusinessPartner == null)
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_poljeDvotačka_Radnik_bez_firme"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                EmployeeByBusinessPartnerViewModel employeeByBusinessPartner = new EmployeeByBusinessPartnerViewModel()
                {
                    Identifier      = Guid.NewGuid(),
                    Employee        = CurrentEmployeeNotOnBusinessPartner,
                    BusinessPartner = CurrentBusinessPartner,
                    StartDate       = CurrentEmployeeNotOnBusinessPartner.ContractStartDate,
                    EndDate         = CurrentEmployeeNotOnBusinessPartner.ContractEndDate,
                    Company         = new CompanyViewModel()
                    {
                        Id = MainWindow.CurrentCompanyId
                    },
                    CreatedBy = new UserViewModel()
                    {
                        Id = MainWindow.CurrentUserId
                    }
                };

                EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerSQLiteRepository().Create(employeeByBusinessPartner);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik"));
                    return;
                }

                response = employeeByBusinessPartnerService.Create(employeeByBusinessPartner);
                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"));

                DisplayEmployeesNotOnBusinessPartnerData();
                DisplayEmployeesOnBusinessPartnerData();
            });
            th.IsBackground = true;
            th.Start();
        }
Beispiel #6
0
        public EmployeeByBusinessPartnerResponse Delete(EmployeeByBusinessPartnerViewModel employeeByBusinessPartner)
        {
            EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerResponse();

            try
            {
                response = WpfApiHandler.SendToApi <EmployeeByBusinessPartnerViewModel, EmployeeByBusinessPartnerResponse>(employeeByBusinessPartner, "Delete");
            }
            catch (Exception ex)
            {
                response.EmployeeByBusinessPartner = new EmployeeByBusinessPartnerViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Beispiel #7
0
        public EmployeeByBusinessPartnerListResponse GetByEmployee(int companyId, Guid EmployeeIdentifier)
        {
            EmployeeByBusinessPartnerListResponse     response = new EmployeeByBusinessPartnerListResponse();
            List <EmployeeByBusinessPartnerViewModel> EmployeeByBusinessPartners = new List <EmployeeByBusinessPartnerViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM EmployeeByBusinessPartners " +
                        "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())
                    {
                        EmployeeByBusinessPartnerViewModel dbEntry = Read(query);
                        EmployeeByBusinessPartners.Add(dbEntry);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage             = error.Message;
                    response.Success                    = false;
                    response.Message                    = error.Message;
                    response.EmployeeByBusinessPartners = new List <EmployeeByBusinessPartnerViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success = true;
            response.EmployeeByBusinessPartners = EmployeeByBusinessPartners;
            return(response);
        }
Beispiel #8
0
        private EmployeeByBusinessPartnerViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            EmployeeByBusinessPartnerViewModel dbEntry = new EmployeeByBusinessPartnerViewModel();

            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.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);
        }
Beispiel #9
0
        public JsonResult Delete([FromBody] EmployeeByBusinessPartnerViewModel employeeByBusinessPartner)
        {
            EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerResponse();

            try
            {
                response = this.employeeByBusinessPartnerService.Delete(employeeByBusinessPartner);
            }
            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
            }));
        }
Beispiel #10
0
        public EmployeeByBusinessPartnerResponse Delete(EmployeeByBusinessPartnerViewModel employeeByBysinessPartner)
        {
            EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerResponse();

            try
            {
                EmployeeByBusinessPartner deletedEmployeeByBusinessPartner = unitOfWork.GetEmployeeByBusinessPartnerRepository()
                                                                             .Delete(employeeByBysinessPartner.ConvertToEmployeeByBusinessPartner());

                Employee        employee        = unitOfWork.GetEmployeeRepository().GetEmployee((int)deletedEmployeeByBusinessPartner.EmployeeId);
                BusinessPartner businessPartner = unitOfWork.GetBusinessPartnerRepository().GetBusinessPartner((int)deletedEmployeeByBusinessPartner.BusinessPartnerId);

                EmployeeCard ec = new EmployeeCard()
                {
                    Identifier  = Guid.NewGuid(),
                    EmployeeId  = deletedEmployeeByBusinessPartner.EmployeeId,
                    CardDate    = (DateTime)deletedEmployeeByBusinessPartner.RealEndDate,
                    Description = "Radnik " + employee?.Name + " " + employee?.SurName + " je raskinuo ugovor sa firmom " + businessPartner?.Name + ". Prestanak je od: " + ((DateTime)deletedEmployeeByBusinessPartner.RealEndDate).ToString("dd.MM.yyyy"),
                    PlusMinus   = "-",
                    CreatedById = deletedEmployeeByBusinessPartner.CreatedById,
                    CompanyId   = deletedEmployeeByBusinessPartner.CompanyId,
                    CreatedAt   = DateTime.Now,
                    UpdatedAt   = DateTime.Now
                };
                unitOfWork.GetEmployeeCardRepository().Create(ec);

                unitOfWork.Save();

                response.EmployeeByBusinessPartner = deletedEmployeeByBusinessPartner.ConvertToEmployeeByBusinessPartnerViewModel();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.EmployeeByBusinessPartner = new EmployeeByBusinessPartnerViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Beispiel #11
0
        public EmployeeByBusinessPartnerResponse Create(EmployeeByBusinessPartnerViewModel re)
        {
            EmployeeByBusinessPartnerResponse response = new EmployeeByBusinessPartnerResponse();

            try
            {
                EmployeeByBusinessPartner addedEmployeeByBusinessPartner = unitOfWork.GetEmployeeByBusinessPartnerRepository()
                                                                           .Create(re.ConvertToEmployeeByBusinessPartner());

                EmployeeCard ec = new EmployeeCard()
                {
                    Identifier  = Guid.NewGuid(),
                    EmployeeId  = re.Employee.Id,
                    CardDate    = re.StartDate,
                    Description = "Radnik " + re.Employee?.Name + " " + re.Employee?.SurName + " je sklopio ugovor sa firmom " + re.BusinessPartner?.Name + ". Radnik je u firmi 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.EmployeeByBusinessPartner = addedEmployeeByBusinessPartner.ConvertToEmployeeByBusinessPartnerViewModel();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.EmployeeByBusinessPartner = new EmployeeByBusinessPartnerViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Beispiel #12
0
        public EmployeeByBusinessPartnerListResponse GetByBusinessPartner(Guid businessPartnerIdentifier, string filterString, int currentPage = 1, int itemsPerPage = 50)
        {
            EmployeeByBusinessPartnerListResponse     response = new EmployeeByBusinessPartnerListResponse();
            List <EmployeeByBusinessPartnerViewModel> employeeByBusinessPartners = new List <EmployeeByBusinessPartnerViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        "SELECT ebp.ServerId, ebp.Identifier, ebp.Code, ebp.StartDate, ebp.EndDate, ebp.RealEndDate, " +
                        "e.Id, e.Identifier, e.Code, e.Name, e.EmployeeCode, e.SurName, e.Passport,  " +
                        "ebp.BusinessPartnerId, ebp.BusinessPartnerIdentifier, ebp.BusinessPartnerCode, ebp.BusinessPartnerName, ebp.BusinessPartnerInternalCode, ebp.BusinessPartnerNameGer,  " +
                        "ebp.IsSynced, ebp.UpdatedAt, ebp.CreatedById, ebp.CreatedByName, ebp.CompanyId, ebp.CompanyName " +
                        "FROM EmployeeByBusinessPartners ebp, Employees e " +
                        "WHERE ebp.BusinessPartnerIdentifier = @BusinessPartnerIdentifier " +
                        "AND ebp.EmployeeIdentifier = e.Identifier " +
                        "ORDER BY ebp.EmployeeName " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

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

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        int counter = 0;
                        EmployeeByBusinessPartnerViewModel dbEntry = new EmployeeByBusinessPartnerViewModel();
                        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.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);

                        employeeByBusinessPartners.Add(dbEntry);
                    }


                    response.EmployeeByBusinessPartners = employeeByBusinessPartners;

                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM EmployeeByBusinessPartners ebp, Employees e " +
                        "WHERE ebp.BusinessPartnerIdentifier = @BusinessPartnerIdentifier " +
                        "AND ebp.EmployeeIdentifier = e.Identifier;", db);
                    selectCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", businessPartnerIdentifier);

                    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.EmployeeByBusinessPartners = new List <EmployeeByBusinessPartnerViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success = true;
            response.EmployeeByBusinessPartners = employeeByBusinessPartners;
            return(response);
        }