예제 #1
0
 internal IEnumerable <DayType> Get()
 {
     using (SalDbContext _dbCon = new SalDbContext())
     {
         return(_dbCon.DayTypes.ToList());
     }
 }
 internal void SaveUserData(SalaryCalculation salcal)
 {
     if (CheckValidation(salcal) == true)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             var updatedSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
             updatedSalCal.RealWorkTime   = salcal.RealWorkTime;
             updatedSalCal.VacationAccure = salcal.VacationAccure;
             updatedSalCal.IllnessDay     = salcal.IllnessDay;
             updatedSalCal.IllnessMonth   = salcal.IllnessMonth;
             updatedSalCal.IllnessSum     = salcal.IllnessSum;
             updatedSalCal.Indexation     = salcal.Indexation;
             updatedSalCal.AnotherDeduct  = salcal.AnotherDeduct;
             updatedSalCal.Advance        = salcal.Advance;
             try
             {
                 _db.SaveChanges();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.ToString(), "Помилка");
             }
         }
     }
 }
예제 #3
0
 internal IEnumerable <TimePeriod> GetPC()
 {
     using (SalDbContext _dbCont = new SalDbContext())
     {
         return(_dbCont.TimePeriods.ToList());
     }
 }
예제 #4
0
 internal IEnumerable <Tax> Get()
 {
     using (SalDbContext _db = new SalDbContext())
     {
         return(_db.Taxes.ToList());
     }
 }
예제 #5
0
        private bool CheckValidation(DayType dt)
        {
            string MessageError = null;

            using (SalDbContext _db = new SalDbContext())
            {
                var checkedwage = _db.DayTypes.FirstOrDefault(p => p.NameDayType == dt.NameDayType);
                if (checkedwage != null)
                {
                    MessageError += "Елемент вже є в базі"; return(false);
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(dt.NameDayType.ToString()))
                    {
                        MessageError += "Поле не може бути пустим";
                    }
                }
            }
            if (string.IsNullOrEmpty(MessageError))
            {
                return(true);
            }
            else
            {
                MessageBox.Show("Mistake {0}", MessageError.ToString());
                return(false);
            }
        }
예제 #6
0
 internal IEnumerable <LivingWageMin> Get()
 {
     using (SalDbContext _db = new SalDbContext())
     {
         return(_db.LivingWageMins.Include("TimePeriod").OrderByDescending(p => p.WageYear)
                .OrderBy(p => p.PeriodId).ToList());
     }
 }
예제 #7
0
 internal IEnumerable <TimePeriod> GetPC()
 {
     using (SalDbContext _db = new SalDbContext())
     {
         return(_db.TimePeriods.Include("wagemins")
                .Include("specialdays").Include("salarycalculations").ToList());
     }
 }
예제 #8
0
 internal IEnumerable <SpecialDay> GetSP()
 {
     using (SalDbContext _dbContext = new SalDbContext())
     {
         return(_dbContext.SpecialDays.Include("DayType").Include("TimePeriod")
                .OrderBy(p => p.SpecialDayYear).OrderBy(p => p.PeriodId).ToList());
     }
 }
예제 #9
0
 private static void SumAccureCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
         updateSalCal.SumAccure = updateSalCal.BasicSalary + updateSalCal.VacationAccure + updateSalCal.IllnessSum + updateSalCal.Indexation;
         _db.SaveChanges();
     }
 }
예제 #10
0
 private static void DeductSumCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
         updateSalCal.DeductSum = updateSalCal.DeductMilitaryTex + updateSalCal.DeductPDFO;
         _db.SaveChanges();
     }
 }
 public WageMinimumViewModel()
 {
     _db              = new SalDbContext();
     _wagelogic       = new WageLogic();
     TheWage          = new LivingWageMin();
     TheMonth         = new TimePeriod();
     PeriodCollection = new ObservableCollection <TimePeriod>(_wagelogic.GetPC());
     WageCollection   = new ObservableCollection <LivingWageMin>(_wagelogic.Get());
 }
예제 #12
0
 private static void DeductMilitaryTexCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
         var tax          = _db.Taxes.FirstOrDefault(p => p.TaxName == "Військовий збір");
         updateSalCal.DeductMilitaryTex = updateSalCal.SumAccure * (tax.TaxPresentage / 100);
         _db.SaveChanges();
     }
 }
예제 #13
0
 private static void ESVCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
         var tax          = _db.Taxes.FirstOrDefault(p => p.TaxName == "Єдиний соціальний внесок");
         updateSalCal.ESV = updateSalCal.SumAccure * (tax.TaxPresentage / 100);
         _db.SaveChanges();
     }
 }
 internal void Add(SalaryCalculation salcal)
 {
     if (CheckValidation(salcal) == true)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             _db.SalaryCalculations.Add(salcal);
             _db.SaveChanges();
         }
     }
 }
예제 #15
0
 public UnitOfWork(SalDbContext _context)
 {
     context         = _context;
     TwitterDAL      = new TwitterDAL(_context);
     TimeSeriesDAL   = new TimeSeriesDAL(_context);
     GUPPYDAL        = new GUPPYDAL(_context);
     MACDDAL         = new MACDDAL(_context);
     SODAL           = new SODAL(_context);
     RSIDAL          = new RSIDAL(_context);
     StockSummaryDAL = new StockSummaryDAL(_context);
 }
예제 #16
0
        public SalaryCalculationViewModel()
        {
            _dbContext = new SalDbContext();

            _sallogic                   = new SalaryCalculationLogic();
            TheEmployee                 = new Employee();
            ThePeriod                   = new TimePeriod();
            TheSalaryCalculation        = new SalaryCalculation();
            EmployeeCollection          = new ObservableCollection <Employee>(_sallogic.GetEmployee());
            PeriodCollection            = new ObservableCollection <TimePeriod>(_sallogic.GetPC());
            SalaryCalculationCollection = new ObservableCollection <SalaryCalculation>(_sallogic.GetSalaryWithPar(ThePeriod, NavigationYear));
        }
예제 #17
0
 private static void FinalSalaryCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p =>
                                                                  p.SalaryCalculationID == salcal.SalaryCalculationID);
         updateSalCal.FinalSalary = updateSalCal.SumAccure -
                                    updateSalCal.DeductSum - updateSalCal.Advance -
                                    updateSalCal.AnotherDeduct;
         _db.SaveChanges();
     }
 }
예제 #18
0
        private static void BasicSalaryCalculation(SalaryCalculation salcal, TimePeriod ThePeriod, int NavigationYear)
        {
            int idealnumber = 0;

            using (SalDbContext _db = new SalDbContext())
            {
                var monthday = _db.SpecialDays.First(p => p.DayTypeId == 2 && p.PeriodId == ThePeriod.PeriodID && p.SpecialDayYear == NavigationYear);
                idealnumber = monthday.DayValue;

                var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
                updateSalCal.BasicSalary = (updateSalCal.employee.Salary / idealnumber) * (decimal)updateSalCal.RealWorkTime;
                _db.SaveChanges();
            }
        }
예제 #19
0
 private static void DeductPDFOCalculation(SalaryCalculation salcal)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var updateSalCal = _db.SalaryCalculations.FirstOrDefault(p => p.SalaryCalculationID == salcal.SalaryCalculationID);
         var tax          = _db.Taxes.FirstOrDefault(p => p.TaxName == "Податок на доходи фізичних осіб");
         updateSalCal.DeductPDFO = (updateSalCal.SumAccure - updateSalCal.PSP) * (tax.TaxPresentage / 100);
         if (updateSalCal.DeductPDFO <= 0)
         {
             updateSalCal.DeductPDFO = 0;
         }
         _db.SaveChanges();
     }
 }
예제 #20
0
 private void SaveUserData()
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var CheckSalCalculation = _db.SalaryCalculations.Include("Employee").Include("TimePeriod").
                                   Where(p => p.CalculationYear == NavigationYear &&
                                         p.TimePeriodID == ThePeriod.PeriodID);
         foreach (SalaryCalculation salcal in CheckSalCalculation)
         {
             SalaryCalculationBusinessLogic.AllCalculationOperations(salcal, ThePeriod, NavigationYear);
         }
         RefeshCollection();
         ResultDataGridStackPanelVis = true;
     }
 }
예제 #21
0
 internal void Update(DayType dt)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var checkeddt = _db.DayTypes.FirstOrDefault(p => p.DayTypeID == dt.DayTypeID);
         checkeddt.NameDayType = dt.NameDayType;
         try
         {
             _db.SaveChanges();
         }
         catch (Exception ex)
         {
             MessageBox.Show("Exception: {0}", ex.ToString());
         }
         MessageBox.Show("Тип днів збережений");
         //}
     }
 }
예제 #22
0
 internal void Add(DayType dt)
 {
     if (CheckValidation(dt) == true)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             try
             {
                 _db.DayTypes.Add(dt);
                 _db.SaveChanges();
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Exception: {0}", ex.ToString());
             }
         }
     }
 }
예제 #23
0
 internal void Delete(Tax tax)
 {
     if (MessageBox.Show("Ви впевнені, що бажаєте виділити даний податок?",
                         "Підтвердіть рішення.", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         try
         {
             using (SalDbContext _db = new SalDbContext())
             {
                 _db.Taxes.Remove(tax);
                 _db.SaveChanges();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.ToString(), "Error");
         }
     }
 }
예제 #24
0
 internal void Add(SpecialDay sd)
 {
     if (CheckValidation(sd) == true)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             try
             {
                 _db.SpecialDays.Add(sd);
                 _db.SaveChanges();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.ToString());
             }
         }
         MessageBox.Show("Успішно");
     }
 }
예제 #25
0
 internal void Update(SpecialDay sd)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         var newsd = _db.SpecialDays.FirstOrDefault(p => p.SpecialDayID == sd.SpecialDayID);
         newsd.SpecialDayYear = sd.SpecialDayYear;
         newsd.PeriodId       = newsd.PeriodId;
         newsd.DayTypeId      = sd.DayTypeId;
         try
         {
             _db.SaveChanges();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.ToString());
         }
     }
     MessageBox.Show("Об'єкт був вдало оновленим");
 }
예제 #26
0
 internal void Add(Position pos)
 {
     if (CheckValidation(pos) == true)
     {
         try
         {
             using (SalDbContext _dbContext = new SalDbContext())
             {
                 _dbContext.Positions.Add(pos);
                 _dbContext.SaveChanges();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.ToString(), "Erro");
         }
         MessageBox.Show("Професія збережена");
     }
 }
예제 #27
0
 private void SetCalculationDataGrid()
 {
     if (NavigationYear != 0 && ThePeriod != null)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             var CheckSalCalculation = _db.SalaryCalculations.
                                       FirstOrDefault(p => p.CalculationYear == NavigationYear &&
                                                      p.TimePeriodID == ThePeriod.PeriodID);
             if (CheckSalCalculation == null)
             {
                 var CurrentTimeperiod = _db.TimePeriods.FirstOrDefault(p => p.PeriodID == ThePeriod.PeriodID);
                 var CurrentEmployee   = _db.Employees.Where(p => p.EndDate == null);
                 foreach (Employee empl in CurrentEmployee)
                 {
                     SalaryCalculation salcal = new SalaryCalculation
                     {
                         CalculationYear = NavigationYear,
                         EmployeeID      = empl.EmployeeID,
                         employee        = empl,
                         TimePeriodID    = CurrentTimeperiod.PeriodID,
                         timeperiod      = CurrentTimeperiod
                     };
                     _db.SalaryCalculations.Add(salcal);
                 }
                 try
                 {
                     _db.SaveChanges();
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.InnerException.ToString(), "Зауваження");
                 }
             }
         }
         DataGridStackPanelVis = true;
         RefeshCollection();
     }
     else
     {
         MessageBox.Show("Поля місяць та рік  є обов'язковими для введення", "Зауваження");
     }
 }
예제 #28
0
 internal void Delete(LivingWageMin wage)
 {
     if (MessageBox.Show("Ви впевнені, що бажаєте виділити даний прожитковий мінімум?",
                         "Підтвердіть рішення.", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         using (SalDbContext _db = new SalDbContext())
         {
             try
             {
                 _db.LivingWageMins.Remove(wage);
                 _db.SaveChanges();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.ToString(), "Error");
             }
         } MessageBox.Show("Успішно");
     }
 }
예제 #29
0
 internal void Add(LivingWageMin wage)
 {
     using (SalDbContext _db = new SalDbContext())
     {
         if (CheckValidation(wage) == true)
         {
             try
             {
                 _db.LivingWageMins.Add(wage);
                 _db.SaveChanges();
             }
             catch (DbUpdateException ex)
             {
                 MessageBox.Show(ex.ToString(), "Помилка");
             }
             MessageBox.Show("Успішно");
         }
     }
 }
예제 #30
0
        internal void Update(Tax tax)
        {
            using (SalDbContext _dbContext = new SalDbContext())
            {
                Tax selectedtax = _dbContext.Taxes
                                  .First(p => p.TaxID == tax.TaxID);
                selectedtax.TaxName       = tax.TaxName;
                selectedtax.TaxPresentage = tax.TaxPresentage;
                try
                {
                    _dbContext.SaveChanges();
                }

                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString(), "Error");
                }
            }
        }