Exemplo n.º 1
0
        public void SaveOldRow(TblSalaryApprovalHeaderModel oldRow)
        {
            if (oldRow != null)
            {
                var valiationCollection = new List <ValidationResult>();

                var isvalid = Validator.TryValidateObject(oldRow,
                                                          new ValidationContext(oldRow, null, null), valiationCollection, true);

                if (isvalid)
                {
                    var save = oldRow.Iserial == 0;
                    if (AllowUpdate != true && !save)
                    {
                        MessageBox.Show(strings.AllowUpdateMsg);
                        return;
                    }
                    var saveRow = new BankDepositService.TblSalaryApprovalHeader();
                    saveRow.InjectFrom(oldRow);

                    BankDepositClient.UpdateOrInsertSalaryApprovalHeaderAsync(saveRow, MainRowList.IndexOf(oldRow), LoggedUserInfo.Iserial,
                                                                              LoggedUserInfo.DatabasEname);
                }
            }
        }
Exemplo n.º 2
0
        private void BtnImport_Click(object sender, RoutedEventArgs e)
        {
            var salaryList       = new ObservableCollection <BankDepositService.TblSalaryApprovalHeader>();
            var salaryDetaillist = new ObservableCollection <BankDepositService.TblSalaryApprovalDetail>();
            var oFile            = new OpenFileDialog {
                Filter = "Excel (*.xls)|*.xls"
            };

            if (oFile.ShowDialog() == true)
            {
                var fs = oFile.File.OpenRead();

                var book  = Workbook.Open(fs);
                var sheet = book.Worksheets[0];

                var shop       = 0;
                var emp        = 0;
                var code       = 0;
                var Net        = 0;
                var Month      = 0;
                var Year       = 0;
                var SalaryType = 0;
                var duedate    = 0;
                for (int j = sheet.Cells.FirstColIndex; j < sheet.Cells.LastColIndex + 1; j++)
                {
                    switch (sheet.Cells[0, j].StringValue.ToLower())
                    {
                    case "shop":
                        shop = j;
                        break;

                    case "empcode":
                        emp = j;
                        break;

                    case "code":
                        code = j;
                        break;

                    case "net":
                        Net = j;
                        break;

                    case "salarytype":
                        SalaryType = j;
                        break;

                    case "month":
                        Month = j;
                        break;

                    case "year":
                        Year = j;
                        break;

                    case "duedate":
                        duedate = j;
                        break;
                    }
                }

                for (int i = sheet.Cells.FirstRowIndex + 1; i < sheet.Cells.LastRowIndex + 1; i++)
                {
                    var newemp        = new BankDepositService.TblSalaryApprovalHeader();
                    var newDetail     = new BankDepositService.TblSalaryApprovalDetail();
                    var salaryTypeStr = sheet.Cells[i, SalaryType].StringValue.ToUpper().Trim();
                    int monthStr      = 0;
                    var CodeStr       = sheet.Cells[i, code].StringValue.ToUpper().Trim();


                    if (string.IsNullOrEmpty(CodeStr) || string.IsNullOrEmpty(salaryTypeStr))
                    {
                        continue;
                    }

                    if (!int.TryParse(sheet.Cells[i, Month].StringValue.ToUpper().Trim(), out monthStr))
                    {
                        continue;
                    }

                    //if (!int.TryParse(sheet.Cells[i, emp].StringValue.ToUpper().Trim(), out employee))
                    //{
                    //    continue;
                    //}

                    var yearStr      = Convert.ToInt32(sheet.Cells[i, Year].StringValue.ToUpper().Trim());
                    var DueDateValue = sheet.Cells[i, duedate].DateTimeValue;
                    var shopStr      = sheet.Cells[i, shop].StringValue.ToUpper().Trim();
                    if (!salaryList.Any(x => x.TblStore1.code.ToUpper().Trim() == shopStr &&
                                        x.TblSalaryType1.EName.ToUpper().Trim() == salaryTypeStr &&
                                        x.Code.ToUpper().Trim() == CodeStr &&
                                        x.Month == monthStr && x.Year == yearStr))
                    {
                        if (string.IsNullOrEmpty(CodeStr) || string.IsNullOrEmpty(salaryTypeStr))
                        {
                            continue;
                        }
                        newemp.TblSalaryApprovalDetails = new ObservableCollection <BankDepositService.TblSalaryApprovalDetail>();
                        newemp.TblSalaryType1           = new BankDepositService.TblSalaryType();
                        newemp.TblSalaryType1.EName     = salaryTypeStr;
                        newemp.TblSalaryType1.Code      = salaryTypeStr;
                        newemp.TblSalaryType1.AName     = salaryTypeStr;
                        newemp.TblStore1       = new BankDepositService.TblStore();
                        newemp.TblStore1.code  = shopStr;
                        newemp.TblStore1.ENAME = shopStr;
                        newemp.TblStore1.aname = shopStr;
                        newemp.Code            = CodeStr;
                        newemp.Month           = monthStr;
                        newemp.Year            = yearStr;
                        newemp.DueDate         = DueDateValue;
                        salaryList.Add(newemp);
                    }
                    newDetail.Salary = Convert.ToDecimal(sheet.Cells[i, Net].StringValue.ToUpper().Trim());
                    int employee = 0;
                    if (!int.TryParse(sheet.Cells[i, emp].StringValue.ToUpper().Trim(), out employee))
                    {
                        continue;
                    }
                    newDetail.TblEmployee = employee;
                    salaryList.FirstOrDefault(w => w.TblStore1.code == shopStr && w.TblSalaryType1.EName == salaryTypeStr &&
                                              w.Month == monthStr && w.Year == yearStr
                                              ).TblSalaryApprovalDetails.Add(newDetail);
                }

                _viewModel.InsertImportedSalaryApprovals(salaryList);
            }
        }