Beispiel #1
0
 private void GridView_SalaryProcess_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
 {
     if (e.Column.FieldName == "OT_Time")
     {
         if (e.Value != DBNull.Value)
         {
         }
     }
     if (e.Column.FieldName == "DeductionTime")
     {
         if (e.Value != DBNull.Value)
         {
             //e.DisplayText = ConvertTo.MinutesToHours(e.Value, EmptyReturn.DbNull) + "";
         }
     }
     if (e.Column.FieldName == "EmpSalary")
     {
         if (e.Value != DBNull.Value)
         {
             if (ConvertTo.DecimalVal(e.Value) == 0)
             {
                 e.DisplayText = string.Empty;
             }
             //e.DisplayText = ConvertTo.MinutesToHours(e.Value, EmptyReturn.DbNull) + "";
         }
     }
 }
Beispiel #2
0
        private void SaveEmployeeData()
        {
            string sql = string.Empty;

            if (ValidateData())
            {
                using (var sqlcon = new SqlConnection(ProjectFunctions.GetConnection()))
                {
                    sqlcon.Open();
                    var sqlcom      = sqlcon.CreateCommand();
                    var transaction = sqlcon.BeginTransaction("SaveTransaction");
                    sqlcom.Connection  = sqlcon;
                    sqlcom.Transaction = transaction;
                    sqlcom.CommandType = CommandType.Text;
                    try
                    {
                        if (S1 == "&Add")
                        {
                            string empCode_SQL = "(SELECT RIGHT('0000' + CAST((ISNULL(MAX(CAST(EmpCode AS INT)), 0) + 1) AS VARCHAR(4)), 4) FROM EmpMst)";// SQL_QUERIES._frmEmployeeMstAddEdit._GetNewEmpCode(hasRtnCol:false);

                            sql = " SET TRANSACTION ISOLATION LEVEL SERIALIZABLE  Begin Transaction "
                                  + " Insert into EmpMst"
                                  + " (EmpCode,EmpName,EmpFHRelationTag,EmpFHName, UnitCode, EmpDeptCode,EmpDesgCode,EmpCategory,"
                                  + " EmpSex,EmpDOJ,EmpDOL,EmpPFDTag,"
                                  + " EmpESIDTag,EmpPFno,EmpESIno,EmpBasic,EmpHRA,EmpConv,"
                                  + " EmpPET,EmpTDS,EmpLeft,EmpRemarks,EmpMotherNm,"
                                  + " EmpNationality,EmpEmail,EmpDoB,EmpPanNo,"
                                  + " EmpPassportNo                           ,"
                                  + " EmpSplAlw,EmpReligion,EmpMaritalStatus,EmpPymtMode,EmpBankIFSCode,"
                                  + " EmpBankAcNo,EmpBankName,EmpNominee,EmpNomineeRelation,EmpNomineeDOB,EmpAdharCardNo,EmpGHISDed,EmpFPFDTag,EmpMscD1,EmpAddress1,EmpAddress2,EmpAddress3,EmpDistCity,EmpState,EmpCountry,EmpUANNo,EmpBankBranchCode," +
                                  string.Empty +
                                  "   TimeInFirst, TimeOutFirst, TimeInLast, TimeOutLast, WorkingHours, EmpImage, DailyWage, DailyWageRate, DailyWageMinutes, TeaBreak, TeaBreakTime,EmpTeaTag)"
                                  + " values(" + empCode_SQL + ",@EmpName,@EmpFHRelationTag,@EmpFHName, @UnitCode, @EmpDeptCode,@EmpDesgCode,@EmpCategory,"
                                  + " @EmpSex,@EmpDOJ,@EmpDOL,@EmpPFDTag,"
                                  + " @EmpESIDTag,@EmpPFno,@EmpESIno,@EmpBasic,@EmpHRA,@EmpConv,"
                                  + " @EmpPET,@EmpTDS,@EmpLeft,@EmpRemarks,@EmpMotherNm,"
                                  + " @EmpNationality,@EmpEmail,@EmpDoB,@EmpPanNo,"
                                  + " @EmpPassportNo,"
                                  + " @EmpSplAlw,@EmpReligion,@EmpMaritalStatus,@EmpPymtMode,@EmpBankIFSCode,"
                                  + " @EmpBankAcNo,@EmpBankName,@EmpNominee,@EmpNomineeRelation,@EmpNomineeDOB,@EmpAdharCardNo,@EmpGHISDed,@EmpFPFDTag,@EmpMscD1,@EmpAddress1,@EmpAddress2,@EmpAddress3,@EmpDistCity,@EmpState,@EmpCountry,@EmpUANNo,@EmpBankBranchCode," +
                                  "@TimeInFirst, @TimeOutFirst, @TimeInLast, @TimeOutLast, @WorkingHours, @EmpImage, @DailyWage, @DailyWageRate, @DailyWageMinutes, @TeaBreak, @TeaBreakTime,@EmpTeaTag)"
                                  + " Commit ";
                            sqlcom.CommandText = sql;

                            PrintLogWin.PrintLog(sql);
                        }
                        if (S1 == "Edit")
                        {
                            sql = " UPDATE EmpMst SET "
                                  + " EmpFHRelationTag=@EmpFHRelationTag,EmpFHName=@EmpFHName, UnitCode=@UnitCode, EmpDeptCode=@EmpDeptCode,EmpDesgCode=@EmpDesgCode,EmpCategory=@EmpCategory, "
                                  + " EmpSex=@EmpSex,EmpDOJ=@EmpDOJ,EmpDOL=@EmpDOL,EmpPFDTag=@EmpPFDTag, "
                                  + " EmpESIDTag=@EmpESIDTag,EmpPFno=@EmpPFno,EmpESIno=@EmpESIno,EmpBasic=@EmpBasic,EmpHRA=@EmpHRA,EmpConv=@EmpConv, "
                                  + " EmpPET=@EmpPET,EmpTDS=@EmpTDS,EmpLeft=@EmpLeft,EmpRemarks=@EmpRemarks,EmpMotherNm=@EmpMotherNm,EmpNationality=@EmpNationality, "
                                  + " EmpEmail=@EmpEmail,EmpDoB=@EmpDoB,EmpPanNo=@EmpPanNo,EmpPassportNo=@EmpPassportNo,EmpSplAlw=@EmpSplAlw,"
                                  + " EmpReligion=@EmpReligion,EmpMaritalStatus=@EmpMaritalStatus,EmpPymtMode=@EmpPymtMode,EmpBankIFSCode=@EmpBankIFSCode, "
                                  + " EmpBankAcNo=@EmpBankAcNo,EmpBankName=@EmpBankName,EmpNominee=@EmpNominee,EmpNomineeRelation=@EmpNomineeRelation,EmpNomineeDOB=@EmpNomineeDOB, "
                                  + " EmpAdharCardNo=@EmpAdharCardNo,EmpGHISDed=@EmpGHISDed,EmpFPFDTag=@EmpFPFDTag,EmpMscD1=@EmpMscD1,EmpAddress1=@EmpAddress1,EmpAddress2=@EmpAddress2,EmpAddress3=@EmpAddress3,EmpDistCity=@EmpDistCity,EmpState=@EmpState,EmpCountry=@EmpCountry ,EmpUANNo=@EmpUANNo,EmpBankBranchCode=@EmpBankBranchCode, " +
                                  "   TimeInFirst = @TimeInFirst," +
                                  "   TimeOutFirst = @TimeOutFirst," +
                                  "   TimeInLast = @TimeInLast," +
                                  "   TimeOutLast = @TimeOutLast," +
                                  "   WorkingHours = @WorkingHours, " +
                                  "   EmpImage = @EmpImage," +
                                  "   DailyWage = @DailyWage," +
                                  "   DailyWageRate = @DailyWageRate," +
                                  "   DailyWageMinutes = @DailyWageMinutes," +
                                  "   TeaBreak = @TeaBreak," +
                                  "   TeaBreakTime = @TeaBreakTime,EmpTeaTag=@EmpTeaTag" +
                                  "   Where EmpCode=@EmpCode";

                            sqlcom.CommandText = sql;

                            PrintLogWin.PrintLog(sql);
                        }

                        sqlcom.Parameters.AddWithValue("@EmpCode", txtEmpCode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpName", txtEmpName.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpFHRelationTag", txtRelationTag.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpFHName", txtFHName.Text.Trim());

                        sqlcom.Parameters.AddWithValue("@UnitCode", txtUnitCode.Text.Trim());

                        sqlcom.Parameters.AddWithValue("@EmpDeptCode", txtDeptCode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpDesgCode", txtDesgCode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpCategory", txtCategoryCode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpSex", txtEmpSex.Text.Trim());

                        if (txtDOJ.Text.Length == 0)
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDOJ", System.Data.SqlTypes.SqlDateTime.Null);
                        }
                        else
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDOJ", ConvertTo.DateTimeVal(txtDOJ.Text));
                        }
                        if (txtDOL.Text.Length == 0)
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDOL", System.Data.SqlTypes.SqlDateTime.Null);
                        }
                        else
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDOL", ConvertTo.DateTimeVal(txtDOL.Text));
                        }
                        sqlcom.Parameters.AddWithValue("@EmpPFDTag", txtEPFTag.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpESIDTag", txtESIDTag.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpPFno", txtEPFNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpESIno", txtESICNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpBasic", 0);
                        sqlcom.Parameters.AddWithValue("@EmpHRA", 0);
                        sqlcom.Parameters.AddWithValue("@EmpConv", 0);
                        sqlcom.Parameters.AddWithValue("@EmpPET", 0);
                        sqlcom.Parameters.AddWithValue("@EmpTDS", ConvertTo.DecimalVal(txtTDS.Text));
                        sqlcom.Parameters.AddWithValue("@EmpLeft", txtEmpLeft.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpRemarks", txtRemarks.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpMotherNm", txtMotherName.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpNationality", txtNationality.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpEmail", txtEmail.Text.Trim());
                        if (txtDOB.Text.Length == 0)
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDoB", ConvertTo.DateTimeVal(txtDOB.Text));
                        }
                        else
                        {
                            sqlcom.Parameters.AddWithValue("@EmpDoB", ConvertTo.DateTimeVal(txtDOB.Text));
                        }
                        sqlcom.Parameters.AddWithValue("@EmpPanNo", txtPanNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpPassportNo", txtPassPortNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpSplAlw", 0);
                        sqlcom.Parameters.AddWithValue("@EmpReligion", txtEmployeeReligion.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpMaritalStatus", txtMaritalStatus.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpPymtMode", txtPaymentMode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpBankIFSCode", txtIfscCode.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpBankAcNo", txtBankAccountNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpBankName", txtBankName.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpNominee", txtNomineeName.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpNomineeRelation", txtNomineeRelation.Text.Trim());
                        if (txtNomineeDOB.Text.Length == 0)
                        {
                            sqlcom.Parameters.AddWithValue("@EmpNomineeDOB", System.Data.SqlTypes.SqlDateTime.Null);
                        }
                        else
                        {
                            sqlcom.Parameters.AddWithValue("@EmpNomineeDOB", ConvertTo.DateTimeVal(txtNomineeDOB.Text));
                        }
                        sqlcom.Parameters.AddWithValue("@EmpAdharCardNo", txtAdharCardNo.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpGHISDed", ConvertTo.DecimalVal(txtHealthInsurance.Text));
                        sqlcom.Parameters.AddWithValue("@EmpFPFDTag", txtEFPFTag.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpMscD1", ConvertTo.DecimalVal(txtMiscDed.Text));
                        sqlcom.Parameters.AddWithValue("@EmpAddress1", txtAddress1.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpAddress2", txtAddress2.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpAddress3", txtAddress3.Text.Trim());

                        sqlcom.Parameters.AddWithValue("@EmpDistCity", string.Empty);

                        sqlcom.Parameters.AddWithValue("@EmpState", txtState.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpCountry", txtCountry.Text.Trim());
                        sqlcom.Parameters.AddWithValue("@EmpUANNo", txtUANNo.Text.Trim());

                        sqlcom.Parameters.AddWithValue("@EmpBankBranchCode", txtBankBranchCode.Text.Trim());

                        sqlcom.Parameters.AddWithValue("@TimeInFirst", ConvertTo.DateTimeVal(timeEdit_Time_In_First.Text.ToString().Trim()));
                        sqlcom.Parameters.AddWithValue("@TimeOutFirst", ConvertTo.DateTimeVal(timeEdit_Time_Out_First.Text.ToString().Trim()));
                        sqlcom.Parameters.AddWithValue("@TimeInLast", ConvertTo.DateTimeVal(timeEdit_Time_In_Last.Text.ToString().Trim()));
                        sqlcom.Parameters.AddWithValue("@TimeOutLast", ConvertTo.DateTimeVal(timeEdit_Time_Out_Last.Text.ToString().Trim()));
                        sqlcom.Parameters.AddWithValue("@WorkingHours", ConvertTo.IntVal(totalWorkingHours_Text.Text.ToString().Trim()));



                        if (ComparisonUtilsWin.PictureBox_IsNullOrEmpty(pictureBox1))
                        {
                            byte[] byteEmpty = ConvertImageToBinary(WindowsFormsApplication1.Properties.Resources.profile_icon);
                            sqlcom.Parameters.AddWithValue("@EmpImage", byteEmpty);
                            PrintLogWin.PrintLog("================== 1");
                        }
                        else
                        {
                            sqlcom.Parameters.AddWithValue("@EmpImage", ConvertImageToBinary(pictureBox1.Image));
                            PrintLogWin.PrintLog("================== 2");
                        }

                        sqlcom.Parameters.AddWithValue("@DailyWage", chkDailyWage.Checked);
                        sqlcom.Parameters.AddWithValue("@DailyWageRate", (txtDailyWageRate.Text.Length == 0) ? 0 : txtDailyWageRate.EditValue);
                        sqlcom.Parameters.AddWithValue("@DailyWageMinutes", (txtDailyWageMinutes.Text.Length == 0) ? 0 : txtDailyWageMinutes.EditValue);

                        sqlcom.Parameters.AddWithValue("@TeaBreak", (chkTeaBreak.Checked) ? 1 : 0);
                        sqlcom.Parameters.AddWithValue("@TeaBreakTime", (txtTeaBreakTime.EditValue == null) ? 0 : txtTeaBreakTime.EditValue);
                        sqlcom.Parameters.AddWithValue("@EmpTeaTag", chTeaTag.Checked ? "Y" : "N");

                        sqlcom.ExecuteNonQuery();
                        transaction.Commit();
                        sqlcon.Close();
                        //XtraMessageBox.Show("Data Saved Successfully");
                        ProjectFunctions.SpeakError("Data Saved Successfully");
                        Close();
                    }
                    catch (Exception ex)
                    {
                        PrintLogWin.PrintLog(sql);


                        PrintLogWin.PrintLog("Line 663 : " + ex);
                        XtraMessageBox.Show("Something Wrong. \n I am going to Roll Back." + ex.Message, ex.GetType().ToString());
                        try
                        {
                            transaction.Rollback();
                        }
                        catch (Exception ex2)
                        {
                            XtraMessageBox.Show("Something Wrong. \n Roll Back Failed." + ex2.Message, ex2.GetType().ToString());
                        }
                    }
                }
            }
        }
Beispiel #3
0
        private void BtnProcessSalary_Click(object sender, EventArgs e)
        {
            DateTime salaryMonth = ConvertTo.DateTimeVal(DtStartDate.EditValue);

            if (ProjectFunctions.SpeakConfirmation("Do you want to process Salary for month [ " + salaryMonth.ToString("MMMM yyyy") + " ]", "Confirmation", MessageBoxButtons.YesNo) != DialogResult.No)
            {
                try
                {
                    DataTable dtProcessSalary = new DataTable();
                    dtProcessSalary.Columns.Add("EmpCode", typeof(string));
                    dtProcessSalary.Columns.Add("SalaryMonth", typeof(DateTime));
                    dtProcessSalary.Columns.Add("SalaryPaid", typeof(decimal));
                    dtProcessSalary.Columns.Add("LoanInstallment", typeof(decimal));
                    dtProcessSalary.Columns.Add("SalaryCalculated", typeof(decimal));
                    dtProcessSalary.Columns.Add("TeaRate", typeof(decimal));
                    dtProcessSalary.Columns.Add("NoOfCups", typeof(decimal));
                    dtProcessSalary.Columns.Add("TotalTeaAmount", typeof(decimal));

                    for (int rowIndex = 0; rowIndex != gridView_SalaryProcess.RowCount; rowIndex++)
                    {
                        int    intRow              = gridView_SalaryProcess.GetVisibleRowHandle(rowIndex);
                        string strSalaryMonth      = gridView_SalaryProcess.GetRowCellValue(intRow, "SalaryMonth").ToString();
                        string strEmpCode          = gridView_SalaryProcess.GetRowCellValue(intRow, "EmpCode").ToString();
                        string strSalaryPaid       = gridView_SalaryProcess.GetRowCellValue(intRow, "SalaryPaid").ToString();
                        string strLoanInstallment  = gridView_SalaryProcess.GetRowCellValue(intRow, "Loan").ToString();
                        string strSalaryCalculated = gridView_SalaryProcess.GetRowCellValue(intRow, "SalaryCalculated").ToString();
                        string strTeaRate          = gridView_SalaryProcess.GetRowCellValue(intRow, "TeaRate").ToString();
                        string strNoOfCups         = gridView_SalaryProcess.GetRowCellValue(intRow, "NoOfCups").ToString();
                        string strTotalTeaAmount   = gridView_SalaryProcess.GetRowCellValue(intRow, "TotalTeaAmount").ToString();



                        PrintLogWin.PrintLog("----- btnProcessSalary_Click => strSalaryMonth: " + strSalaryMonth);
                        PrintLogWin.PrintLog("----- btnProcessSalary_Click => strEmpCode: " + strEmpCode);

                        //if (strSalaryPaid != null && strEmpCode.Equals("0030") && ConvertTo.DateTimeVal(strSalaryMonth).Month == 6)
                        if (strSalaryPaid != null)
                        {
                            if (ConvertTo.DecimalVal(strSalaryPaid) > 0)
                            {
                                PrintLogWin.PrintLog("strSalaryMonth => " + strSalaryMonth);
                                PrintLogWin.PrintLog("strEmpCode => " + strEmpCode);
                                PrintLogWin.PrintLog("strSalaryPaid => " + strSalaryPaid);
                                PrintLogWin.PrintLog("strLoanInstallment => " + strLoanInstallment);
                                PrintLogWin.PrintLog("strSalaryCalculated => " + strSalaryCalculated);
                                PrintLogWin.PrintLog("------------------------------");

                                //dt.Rows.Add(strEmpCode, ConvertTo.DateTimeVal(strSalaryMonth), ConvertTo.DecimalVal(strSalaryPaid));
                                dtProcessSalary.Rows.Add(
                                    strEmpCode,
                                    ConvertTo.DateFormatDb(strSalaryMonth),
                                    ConvertTo.DecimalVal(strSalaryPaid),
                                    ConvertTo.DecimalVal(strLoanInstallment),
                                    ConvertTo.DecimalVal(strSalaryCalculated),
                                    ConvertTo.DecimalVal(strTeaRate),
                                    ConvertTo.DecimalVal(strNoOfCups),
                                    ConvertTo.DecimalVal(strTotalTeaAmount)
                                    );

                                PrintLogWin.PrintLog("***** btnProcessSalary_Click => strSalaryMonth: " + strSalaryMonth);
                                PrintLogWin.PrintLog("***** btnProcessSalary_Click => strEmpCode: " + strEmpCode);
                            }
                        }


                        //cn.Execute(@"Insert INTO #routineUpdatedRecords VALUES('" + strEmpCode + "', '" + strSalaryMonth + "', " + strSalaryPaid + ")");
                    }

                    PrintLogWin.PrintLog("*******************************" + string.Empty);

                    using (SqlConnection con = new SqlConnection(ProjectFunctionsUtils.ConnectionString))
                    {
                        con.Open();
                        using (SqlCommand com = new SqlCommand("sp_UpdateSalaryPaid", con))
                        {
                            com.CommandType = CommandType.StoredProcedure;
                            com.Parameters.AddWithValue("@TableParam", dtProcessSalary);
                            com.ExecuteNonQuery();

                            ProjectFunctions.SpeakError("Salary Has Been Processed");
                            FillGrid();
                        }
                    }
                }
                catch (Exception ex)
                {
                    PrintLogWin.PrintLog(ex);
                }
            }
        }
Beispiel #4
0
        private void GridView_SalaryProcess_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            GridView view = sender as GridView;

            var focusRowView = (DataRowView)view.GetFocusedRow();



            if (view.FocusedColumn.FieldName.ToUpper() == "NOOFCUPS")
            {
                int salary_locked = ConvertTo.IntVal(focusRowView["SalaryLocked"]);

                if (salary_locked == 0)
                {
                    decimal noofcups          = ConvertTo.DecimalVal(e.Value);
                    decimal tearate           = Convert.ToDecimal(txtteatrate.Text);
                    decimal totalteaamount    = noofcups * tearate;
                    decimal salary_calculated = ConvertTo.DecimalVal(focusRowView["SalaryCalculated_1"]);

                    decimal salary_calculated_new = salary_calculated - totalteaamount;

                    view.SetRowCellValue(view.FocusedRowHandle, view.Columns["TotalTeaAmount"], totalteaamount);
                    if (totalteaamount > 0)
                    {
                        view.SetRowCellValue(view.FocusedRowHandle, view.Columns["SalaryCalculated"], salary_calculated_new);
                    }
                    else
                    {
                        view.SetRowCellValue(view.FocusedRowHandle, view.Columns["SalaryCalculated"], salary_calculated);
                    }

                    ProjectFunctions.GetDataTable(" update tbl_Process_Salary Set NoOfCups = '" + noofcups + "' Where MONTH(SalaryMonth)= '" + Convert.ToDateTime(DtStartDate.EditValue).Month + "' and YEAR(SalaryMonth) = '" + Convert.ToDateTime(DtStartDate.EditValue).Year + "' and EmpCode = '" + ConvertTo.StringVal(focusRowView["EmpCode"]) + "'");
                }
                else
                {
                }
            }



            if (view.FocusedColumn.FieldName == "SalaryPaid")
            {
                int salary_locked = ConvertTo.IntVal(focusRowView["SalaryLocked"]);

                if (salary_locked == 0)
                {
                    decimal salary_paying = ConvertTo.DecimalVal(e.Value);

                    decimal salary_calculated = ConvertTo.DecimalVal(focusRowView["SalaryCalculated"]);

                    decimal salary_calculated_and_paying_difference = salary_calculated - salary_paying;
                    decimal balance_new = salary_calculated_and_paying_difference;

                    //PrintLogWin.PrintLog("******* balance_old A " + balance_old);
                    PrintLogWin.PrintLog("******* balance_old B " + focusRowView["Balance"]);

                    PrintLogWin.PrintLog("******* salary_paying " + salary_paying);

                    PrintLogWin.PrintLog("******* salary_calculated " + salary_calculated);
                    PrintLogWin.PrintLog("******* salary_calculated_and_paying_difference " + salary_calculated_and_paying_difference);
                    PrintLogWin.PrintLog("******* balance_new " + balance_new);

                    view.SetRowCellValue(view.FocusedRowHandle, view.Columns["Balance"], balance_new);
                }
                else
                {
                    //view.SetRowCellValue(view.FocusedRowHandle, view.Columns["SalaryPaid"], balance_new);
                }
            }

            if (view.FocusedColumn.FieldName == "Loan")
            {
                decimal salary_paid = ConvertTo.DecimalVal(focusRowView["SalaryPaid"]);

                decimal loan_old    = ConvertTo.DecimalVal(focusRowView["Loan_1"]);
                decimal loan_paying = ConvertTo.DecimalVal(e.Value);

                decimal salary_calculated_1 = ConvertTo.DecimalVal(focusRowView["SalaryCalculated_1"]);

                decimal new_salary_calculated = (salary_calculated_1 + loan_old) - loan_paying;

                PrintLogWin.PrintLog("******* loan_old " + loan_old);
                PrintLogWin.PrintLog("******* loan_paying " + loan_paying);

                PrintLogWin.PrintLog("******* salary_calculated_1 " + salary_calculated_1);
                PrintLogWin.PrintLog("******* new_salary_calculated " + new_salary_calculated);

                view.SetRowCellValue(view.FocusedRowHandle, view.Columns["SalaryCalculated"], new_salary_calculated);

                /////////////////////////////////////////////////////////////
                if (salary_paid > 0)
                {
                    decimal salary_paying = ConvertTo.DecimalVal(focusRowView["SalaryPaid"]);

                    decimal salary_calculated = ConvertTo.DecimalVal(focusRowView["SalaryCalculated"]);

                    decimal salary_calculated_and_paying_difference = salary_calculated - salary_paying;
                    decimal balance_new = salary_calculated_and_paying_difference;

                    //PrintLogWin.PrintLog("******* balance_old A " + balance_old);
                    PrintLogWin.PrintLog("******* balance_old B " + focusRowView["Balance"]);

                    PrintLogWin.PrintLog("******* salary_paying " + salary_paying);

                    PrintLogWin.PrintLog("******* salary_calculated " + salary_calculated);
                    PrintLogWin.PrintLog("******* salary_calculated_and_paying_difference " + salary_calculated_and_paying_difference);
                    PrintLogWin.PrintLog("******* balance_new " + balance_new);

                    view.SetRowCellValue(view.FocusedRowHandle, view.Columns["Balance"], balance_new);
                }
            }
        }