protected override string DoIt() { try { _log.Info("Start Imported Data completion for GulfOil : " + System.DateTime.Now); #region complete Order Record sql.Clear(); sql.Append("SELECT * FROM C_Order WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL') ORDER BY dateacct"); dsRecord = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); dataRow = dsRecord.Tables[0].Select("IsActive = 'Y' ", "dateacct"); if (dataRow != null && dataRow.Length > 0) { ViennaAdvantage.Model.MOrder order = null; message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of C_Order "); for (int i = 0; i < dataRow.Length; i++) { try { order = new ViennaAdvantage.Model.MOrder(GetCtx(), Util.GetValueOfInt(dataRow[i]["C_Order_ID"]), Get_Trx()); order.CompleteIt(); if (order.GetDocAction() == "CL") { order.SetDocStatus("CO"); order.SetDocAction("CL"); if (!order.Save(Get_Trx())) { notCompletedRecord.Append(order.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Order Record ID = " + order.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(order.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Order not completed for this Record ID = " + order.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete Invoice Record sql.Clear(); sql.Append("SELECT * FROM C_Invoice WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL') ORDER BY dateacct"); dsRecord = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); dataRow = dsRecord.Tables[0].Select("IsActive = 'Y' ", "dateacct"); if (dataRow != null && dataRow.Length > 0) { ViennaAdvantage.Model.MInvoice invoice = null; message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of C_Invoice "); for (int i = 0; i < dataRow.Length; i++) { try { invoice = new ViennaAdvantage.Model.MInvoice(GetCtx(), Util.GetValueOfInt(dataRow[i]["C_Invoice_ID"]), Get_Trx()); invoice.CompleteIt(); if (invoice.GetDocAction() == "CL") { invoice.SetDocStatus("CO"); invoice.SetDocAction("CL"); if (!invoice.Save(Get_Trx())) { notCompletedRecord.Append(invoice.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Invoice Record ID = " + invoice.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(invoice.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Invoice not completed for this Record ID = " + invoice.GetDocumentNo() + " Message- " + invoice.GetProcessMsg()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion sql.Clear(); sql.Append("SELECT * FROM M_InOut WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY movementdate"); dsInOut = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); sql.Clear(); sql.Append("SELECT * FROM M_Inventory WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY movementdate"); dsInventory = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); sql.Clear(); sql.Append("SELECT * FROM M_Movement WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY movementdate"); dsMovement = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); sql.Clear(); sql.Append("SELECT * FROM C_Payment WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY dateacct"); dsPayment = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); sql.Clear(); sql.Append("SELECT * FROM C_Cash WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY dateacct"); dsCashJournal = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); sql.Clear(); sql.Append("SELECT * FROM GL_Journal WHERE IsActive = 'Y' AND DocStatus NOT IN ('CO' , 'CL' , 'RE' , 'VO') ORDER BY dateacct"); dsGLJournal = DB.ExecuteDataset(sql.ToString(), null, Get_Trx()); // min date record from the transaction window minDateRecord = SerachMinDate(); int diff = (DateTime.Now - minDateRecord.Value).Days; for (int days = 0; days <= diff; days++) { if (days != 0) { minDateRecord = minDateRecord.Value.AddDays(1); } try { #region Physical Inventory dataRow = dsInventory.Tables[0].Select("isinternaluse = 'N' AND movementdate = '" + minDateRecord + "'", "M_Inventory_ID"); if (dataRow != null && dataRow.Length > 0) { MInventory inventory = null; message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Physical Inventory "); for (int i = 0; i < dataRow.Length; i++) { try { inventory = new MInventory(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_Inventory_ID"]), Get_Trx()); inventory.CompleteIt(); if (inventory.GetDocAction() == "CL") { inventory.SetDocStatus("CO"); inventory.SetDocAction("CL"); if (!inventory.Save(Get_Trx())) { notCompletedRecord.Append(inventory.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving Physical Inventory Record ID = " + inventory.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inventory.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Physical Inventory not completed for this Record ID = " + inventory.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region Internal use inventory dataRow = dsInventory.Tables[0].Select("isinternaluse = 'Y' AND movementdate = '" + minDateRecord + "'", "M_Inventory_ID"); if (dataRow != null && dataRow.Length > 0) { MInventory inventory = null; message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Internal use inventory "); for (int i = 0; i < dataRow.Length; i++) { try { inventory = new MInventory(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_Inventory_ID"]), Get_Trx()); inventory.CompleteIt(); if (inventory.GetDocAction() == "CL") { inventory.SetDocStatus("CO"); inventory.SetDocAction("CL"); if (!inventory.Save(Get_Trx())) { notCompletedRecord.Append(inventory.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving Physical Inventory Record ID = " + inventory.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inventory.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Physical Inventory not completed for this Record ID = " + inventory.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete material receipt dataRow = dsInOut.Tables[0].Select("IsSoTrx = 'N' AND IsReturnTrx = 'N' AND DocStatus NOT IN ('CO' , 'CL') AND DateAcct = '" + minDateRecord + "'", "M_InOut_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of material receipt "); for (int i = 0; i < dataRow.Length; i++) { try { inout = new ViennaAdvantage.Model.MInOut(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_InOut_ID"]), Get_Trx()); inout.CompleteIt(); if (inout.GetDocAction() == "CL") { inout.SetDocStatus("CO"); inout.SetDocAction("CL"); if (!inout.Save(Get_Trx())) { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Order Record ID = " + inout.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Material Receipt not completed for this Record ID = " + inout.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete Movement Record dataRow = dsMovement.Tables[0].Select("movementdate = '" + minDateRecord + "'", "M_Movement_ID"); if (dataRow != null && dataRow.Length > 0) { ViennaAdvantage.Model.MMovement movement = null; message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of M_Movement "); for (int i = 0; i < dataRow.Length; i++) { try { movement = new ViennaAdvantage.Model.MMovement(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_Movement_ID"]), Get_Trx()); movement.CompleteIt(); if (movement.GetDocAction() == "CL") { movement.SetDocStatus("CO"); movement.SetDocAction("CL"); if (!movement.Save(Get_Trx())) { notCompletedRecord.Append(movement.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Invoice Record ID = " + movement.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(movement.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Movement not completed for this Record ID = " + movement.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete shipment dataRow = dsInOut.Tables[0].Select("IsSoTrx = 'Y' AND IsReturnTrx = 'N' AND DateAcct = '" + minDateRecord + "'", "M_Inout_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of shipment "); for (int i = 0; i < dataRow.Length; i++) { try { inout = new ViennaAdvantage.Model.MInOut(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_InOut_ID"]), Get_Trx()); inout.CompleteIt(); if (inout.GetDocAction() == "CL") { inout.SetDocStatus("CO"); inout.SetDocAction("CL"); if (!inout.Save(Get_Trx())) { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Order Record ID = " + inout.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Shipment not completed for this Record ID = " + inout.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete Customer Return dataRow = dsInOut.Tables[0].Select("IsSoTrx = 'Y' AND IsReturnTrx = 'Y' AND DateAcct = '" + minDateRecord + "'", "M_Inout_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Customer Return "); for (int i = 0; i < dataRow.Length; i++) { try { inout = new ViennaAdvantage.Model.MInOut(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_InOut_ID"]), Get_Trx()); inout.CompleteIt(); if (inout.GetDocAction() == "CL") { inout.SetDocStatus("CO"); inout.SetDocAction("CL"); if (!inout.Save(Get_Trx())) { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Order Record ID = " + inout.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Customer return not completed for this Record ID = " + inout.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region complete Return to Vendor dataRow = dsInOut.Tables[0].Select("IsSoTrx = 'N' AND IsReturnTrx = 'Y' AND DateAcct = '" + minDateRecord + "'", "M_InOut_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Return to Vendor "); for (int i = 0; i < dataRow.Length; i++) { try { inout = new ViennaAdvantage.Model.MInOut(GetCtx(), Util.GetValueOfInt(dataRow[i]["M_InOut_ID"]), Get_Trx()); inout.CompleteIt(); if (inout.GetDocAction() == "CL") { inout.SetDocStatus("CO"); inout.SetDocAction("CL"); if (!inout.Save(Get_Trx())) { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Order Record ID = " + inout.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(inout.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Return to Vendor not completed for this Record ID = " + inout.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region Complete Payment dataRow = dsPayment.Tables[0].Select("DateAcct = '" + minDateRecord + "'", "C_Payment_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Payment "); for (int i = 0; i < dataRow.Length; i++) { try { payment = new MPayment(GetCtx(), Util.GetValueOfInt(dataRow[i]["C_Payment_ID"]), Get_Trx()); payment.CompleteIt(); if (payment.GetDocAction() == "CL") { payment.SetDocStatus("CO"); payment.SetDocAction("CL"); if (!payment.Save(Get_Trx())) { notCompletedRecord.Append(payment.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Payment Record ID = " + payment.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(payment.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Payment not completed for this Record ID = " + payment.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region Complete Cash Journal dataRow = dsCashJournal.Tables[0].Select("DateAcct = '" + minDateRecord + "'", "C_Cash_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of Cash Journal "); for (int i = 0; i < dataRow.Length; i++) { try { cash = new MCash(GetCtx(), Util.GetValueOfInt(dataRow[i]["C_Cash_ID"]), Get_Trx()); cash.CompleteIt(); if (cash.GetDocAction() == "CL") { cash.SetDocStatus("CO"); cash.SetDocAction("CL"); if (!cash.Save(Get_Trx())) { notCompletedRecord.Append(cash.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Cash Record ID = " + cash.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(cash.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Cash Journal not completed for this Record ID = " + cash.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion #region Complete GL Journal dataRow = dsGLJournal.Tables[0].Select("DateAcct = '" + minDateRecord + "'", "GL_Journal_ID"); if (dataRow != null && dataRow.Length > 0) { message.Clear(); notCompletedRecord.Clear(); message.Append("Records Of GL Journal "); for (int i = 0; i < dataRow.Length; i++) { try { journal = new MJournal(GetCtx(), Util.GetValueOfInt(dataRow[i]["GL_Journal_ID"]), Get_Trx()); journal.CompleteIt(); if (journal.GetDocAction() == "CL") { journal.SetDocStatus("CO"); journal.SetDocAction("CL"); if (!journal.Save(Get_Trx())) { notCompletedRecord.Append(journal.GetDocumentNo() + " ,"); Get_Trx().Rollback(); ValueNamePair pp = VLogger.RetrieveError(); _log.Info("Error found for saving C_Cash Record ID = " + journal.GetDocumentNo() + " Error Name is " + pp.GetName() + " And Error Type is " + pp.GetType()); } else { Get_Trx().Commit(); } } else { notCompletedRecord.Append(journal.GetDocumentNo() + " ,"); Get_Trx().Rollback(); _log.Info("Cash Journal not completed for this Record ID = " + journal.GetDocumentNo()); } } catch { } } if (!string.IsNullOrEmpty(notCompletedRecord.ToString())) { errorMessage.Append(message.ToString() + " : " + notCompletedRecord.ToString()); } } #endregion } catch { } } _log.Info(" End Imported Data completion for GulfOil : " + System.DateTime.Now); } catch (Exception ex) { _log.Info("Error Occured during completion of record by using ImportedDataCompletion Process - " + ex.ToString()); return(Msg.GetMsg(GetCtx(), "NotCompleted")); } if (!string.IsNullOrEmpty(errorMessage.ToString())) { return("Not Completed Record : " + errorMessage.ToString()); } else { return(Msg.GetMsg(GetCtx(), "SucessfullyCompleted")); } }
protected override string DoIt() { MCash cashheader = new MCash(GetCtx(), GetRecord_ID(), Get_Trx()); sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cashheader.GetC_CashBook_ID(); int C_Currencyheader_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); sql = "select * from C_Cashline WHERE C_Cash_ID=" + GetRecord_ID(); DataSet dscashline = DB.ExecuteDataset(sql, null, Get_Trx()); if (dscashline != null) { if (dscashline.Tables[0].Rows.Count > 0) { for (i = 0; i < dscashline.Tables[0].Rows.Count; i++) { cashline = new MCashLine(GetCtx(), Util.GetValueOfInt(dscashline.Tables[0].Rows[i]["C_CashLine_ID"]), Get_Trx()); if (cashline.GetCashType().ToString() == "A" || cashline.GetCashType().ToString() == "F") { sql = "Select * from C_Cash where C_CashBook_Id=" + cashline.GetC_CashBook_ID() + " and docstatus='DR' and DateAcct=" + GlobalVariable.TO_DATE(DateTime.Now, true); DataSet dscashbook = DB.ExecuteDataset(sql, null, Get_Trx()); if (dscashbook != null) { if (dscashbook.Tables[0].Rows.Count > 0) { int j; for (j = 0; j < dscashbook.Tables[0].Rows.Count; j++) { cash = new MCash(GetCtx(), Util.GetValueOfInt(dscashbook.Tables[0].Rows[j]["C_Cash_ID"]), Get_Trx()); if (!_cashIds.Contains(cash.GetC_Cash_ID())) { _cashIds.Add(cash.GetC_Cash_ID()); } //ViennaAdvantage.Model.MCashLine cashline1 = new ViennaAdvantage.Model.MCashLine(GetCtx(), 0, Get_Trx()); MCashLine cashline1 = new MCashLine(GetCtx(), 0, Get_Trx()); cashline1.SetC_Cash_ID(cash.GetC_Cash_ID()); cashline1.SetAD_Client_ID(cash.GetAD_Client_ID()); cashline1.SetAD_Org_ID(cash.GetAD_Org_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetCashType("F"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetCashType("A"); } // Added by Bharat as discussed with Ravikant on 22 March 2017 if (cashline1.Get_ColumnIndex("C_ConversionType_ID") > 0) { cashline1.SetC_ConversionType_ID(cashline.GetC_ConversionType_ID()); } cashline1.SetC_CashBook_ID(cashheader.GetC_CashBook_ID()); cashline1.SetC_BPartner_ID(cashline.GetC_BPartner_ID()); sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cash.GetC_CashBook_ID(); Currency_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); if (Currency_ID == C_Currencyheader_ID) { cashline1.SetC_Currency_ID(C_Currencyheader_ID); cashline1.SetAmount(Decimal.Negate(cashline.GetAmount())); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { //cashline1.SetC_Currency_ID(Currency_ID); // Change by Bharat as discussed with Ravikant on 22 March 2017 cashline1.SetC_Currency_ID(C_Currencyheader_ID); if (cashline1.Get_ColumnIndex("C_ConversionType_ID") > 0) { //_Curencyrate = MConversionRate.GetRate(C_Currencyheader_ID, Currency_ID, cash.GetDateAcct(), cashline.GetC_ConversionType_ID(), // cash.GetAD_Client_ID(), cash.GetAD_Org_ID()); convertedamount = Decimal.Negate(Util.GetValueOfDecimal(cashline.GetConvertedAmt())); // if converted amount not found then get amount based on currency conversion avaliable if (cashline.GetAmount() != 0 && convertedamount == 0) { convertedamount = MConversionRate.Convert(GetCtx(), Decimal.Negate(cashline.GetAmount()), Currency_ID, C_Currencyheader_ID, cash.GetDateAcct(), cashline.GetC_ConversionType_ID(), cash.GetAD_Client_ID(), cash.GetAD_Org_ID()); cashline.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(convertedamount))); } if (cashline.GetAmount() != 0 && convertedamount == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else if (cashline.GetAmount() == 0) { return("Amount Should be greater than zero"); } cashline1.SetAmount(convertedamount); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { sql = "select multiplyrate from c_conversion_rate where isactive='Y' and c_currency_id=" + C_Currencyheader_ID + " and c_currency_to_id=" + Currency_ID; _Curencyrate = Util.GetValueOfDecimal(DB.ExecuteScalar(sql, null, Get_Trx())); if (_Curencyrate == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else { convertedamount = Decimal.Round(Decimal.Multiply(_Curencyrate, Decimal.Negate(cashline.GetAmount())), 2); } cashline1.SetConvertedAmt(Util.GetValueOfString(convertedamount)); cashline1.SetAmount(convertedamount); } } cashline1.SetC_Charge_ID(cashline.GetC_Charge_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetVSS_PAYMENTTYPE("R"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetVSS_PAYMENTTYPE("P"); } cashline1.SetC_CashLine_ID_1(cashline.GetC_CashLine_ID()); if (!cashline1.Save()) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline1 [ Header Found ] "); } if (cashline.GetCashType().ToString() == "F") { cashline.SetC_CashLine_ID_1(cashline1.GetC_CashLine_ID()); } if (!cashline.Save()) { Rollback(); log.Severe("Not Saved"); return(" NotSaved Cashline [ Header Found ] "); } //change by Amit 1-june-2016 after discussion with ravikant //int BeginBal = Util.GetValueOfInt(DB.ExecuteScalar("select completedbalance from c_cashbook where c_cashbook_id=" + cash.GetC_CashBook_ID(), null, Get_Trx())); //cash.SetBeginningBalance(BeginBal); //if (!cash.Save(Get_Trx())) //{ // Rollback(); // log.Severe("Not Saved"); // return " NotSaved Cash [ Header Found ] "; //} //end break; } } else { dscashbook.Dispose(); MCash cash1 = new MCash(GetCtx(), 0, Get_Trx()); cash1.SetAD_Client_ID(cashheader.GetAD_Client_ID()); cash1.SetAD_Org_ID(cashheader.GetAD_Org_ID()); cash1.SetC_DocType_ID(cashheader.GetC_DocType_ID()); cash1.SetName(Util.GetValueOfString(System.DateTime.Today.ToShortDateString())); cash1.SetC_CashBook_ID(cashline.GetC_CashBook_ID()); cash1.SetDateAcct(DateTime.Now); cash1.SetStatementDate(DateTime.Now); //change by Amit 1-june-2016 after discussion with ravikant int BeginBal = Util.GetValueOfInt(DB.ExecuteScalar("select SUM(completedbalance + runningbalance) from c_cashbook where c_cashbook_id=" + cashline.GetC_CashBook_ID(), null, Get_Trx())); cash1.SetBeginningBalance(BeginBal); //end //Change by Bharat as discussed with Ravikant on 22 March 2017 sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cash1.GetC_CashBook_ID(); Currency_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); if (cash1.Get_ColumnIndex("C_Currency_ID") > 0) { cash1.SetC_Currency_ID(Currency_ID); } //End if (!cash1.Save()) { Rollback(); VAdvantage.Model.ValueNamePair ppE = VLogger.RetrieveError(); if (ppE != null) { return(ppE.GetName() + "<--->" + ppE.GetValue()); } return("cash1 not saved [header not found->]"); } // return cash1.GetC_Cash_ID() + "suc"; if (!_cashIds.Contains(cash1.GetC_Cash_ID())) { _cashIds.Add(cash1.GetC_Cash_ID()); } MCashLine cashline1 = new MCashLine(GetCtx(), 0, Get_Trx()); cashline1.SetC_Cash_ID(cash1.GetC_Cash_ID()); cashline1.SetAD_Client_ID(cash1.GetAD_Client_ID()); cashline1.SetAD_Org_ID(cash1.GetAD_Org_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetCashType("F"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetCashType("A"); } if (cashline1.Get_ColumnIndex("C_ConversionType_ID") > 0) { cashline1.SetC_ConversionType_ID(cashline.GetC_ConversionType_ID()); } cashline1.SetC_CashBook_ID(cashheader.GetC_CashBook_ID()); cashline1.SetC_BPartner_ID(cashline.GetC_BPartner_ID()); //Change by Bharat as discussed with Ravikant on 22 March 2017 //sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cash1.GetC_CashBook_ID(); //Currency_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); if (Currency_ID == C_Currencyheader_ID) { cashline1.SetAmount(Decimal.Negate(cashline.GetAmount())); cashline1.SetC_Currency_ID(C_Currencyheader_ID); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { //Change by Bharat as discussed with Ravikant on 22 March 2017 cashline1.SetC_Currency_ID(C_Currencyheader_ID); if (cashline1.Get_ColumnIndex("C_ConversionType_ID") > 0) { //_Curencyrate = MConversionRate.GetRate(C_Currencyheader_ID, Currency_ID, cashheader.GetDateAcct(), cashline.GetC_ConversionType_ID(), // cashheader.GetAD_Client_ID(), cashheader.GetAD_Org_ID()); convertedamount = Decimal.Negate(Util.GetValueOfDecimal(cashline.GetConvertedAmt())); // if converted amount not found then get amount based on currency conversion avaliable if (cashline.GetAmount() != 0 && convertedamount == 0) { convertedamount = MConversionRate.Convert(GetCtx(), Decimal.Negate(cashline.GetAmount()), Currency_ID, C_Currencyheader_ID, cash1.GetDateAcct(), cashline.GetC_ConversionType_ID(), cash1.GetAD_Client_ID(), cash1.GetAD_Org_ID()); cashline.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(convertedamount))); } if (cashline.GetAmount() != 0 && convertedamount == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else if (cashline.GetAmount() == 0) { return("Amount Should be greater than zero"); } cashline1.SetAmount(convertedamount); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { sql = "select multiplyrate from c_conversion_rate where isactive='Y' and c_currency_id=" + C_Currencyheader_ID + " and c_currency_to_id=" + Currency_ID; _Curencyrate = Util.GetValueOfDecimal(DB.ExecuteScalar(sql, null, Get_Trx())); if (_Curencyrate == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else { convertedamount = Decimal.Round(Decimal.Multiply(_Curencyrate, Decimal.Negate(cashline.GetAmount())), 2); } cashline1.SetConvertedAmt(Util.GetValueOfString(convertedamount)); cashline1.SetAmount(convertedamount); } } cashline1.SetC_Charge_ID(cashline.GetC_Charge_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetVSS_PAYMENTTYPE("R"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetVSS_PAYMENTTYPE("P"); } cashline1.SetC_CashLine_ID_1(cashline.GetC_CashLine_ID()); if (!cashline1.Save(Get_Trx())) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline1 [ Header not Found ] "); } if (cashline.GetCashType().ToString() == "F") { cashline.SetC_CashLine_ID_1(cashline1.GetC_CashLine_ID()); } if (!cashline.Save(Get_Trx())) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline [ Header not Found ] "); } //change by Amit 1-june-2016 after discussion with ravikant //int BeginBal = Util.GetValueOfInt(DB.ExecuteScalar("select completedbalance from c_cashbook where c_cashbook_id=" + cash1.GetC_CashBook_ID(), null, Get_Trx())); //cash1.SetBeginningBalance(BeginBal); //if (!cash1.Save()) //{ // Rollback(); // log.Severe("NotSaved"); // return " NotSaved Cash1 [ Header not Found(bb) ] "; //} //end } } else { //dscashbook.Dispose(); } } else { cashtype++; } } // Discussed with Ravikant it is re updating the Header so commented on 23-March-2017 by Bharat //decimal OpenBal = Util.GetValueOfDecimal(DB.ExecuteScalar("SELECT completedbalance FROM C_CashBook WHERE c_cashbook_id=" + cashheader.GetC_CashBook_ID() + "", null, Get_Trx())); //cashheader.SetBeginningBalance(OpenBal); //if (!cashheader.Save()) //{ // Rollback(); // log.Severe("Not Saved"); //} } else { dscashline.Dispose(); cashheader.SetGenerateCashBookTransfer("Y"); if (!cashheader.Save()) { Rollback(); log.Severe("NotSaved"); } return(Msg.GetMsg(GetCtx(), "NoCashLineExist")); } if (_cashIds.Count > 0) { for (int k = 0; k < _cashIds.Count; k++) { cash = new MCash(GetCtx(), _cashIds[k], Get_Trx()); cash.SetDocStatus(cash.CompleteIt()); if (!cash.Save()) { Rollback(); log.Severe("NotSaved"); } } } } cashheader.SetGenerateCashBookTransfer("Y"); if (!cashheader.Save()) { log.Severe("NotSaved"); } if (cashtype == i) { return(Msg.GetMsg(GetCtx(), "NoCashLineExist")); } return("Completed"); }
protected override string DoIt() { MCash cashheader = new MCash(GetCtx(), GetRecord_ID(), Get_Trx()); sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cashheader.GetC_CashBook_ID(); int C_Currencyheader_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); sql = "select * from C_Cashline WHERE C_Cash_ID=" + GetRecord_ID(); DataSet dscashline = DB.ExecuteDataset(sql, null, Get_Trx()); if (dscashline != null) { if (dscashline.Tables[0].Rows.Count > 0) { for (i = 0; i < dscashline.Tables[0].Rows.Count; i++) { cashline = new MCashLine(GetCtx(), Util.GetValueOfInt(dscashline.Tables[0].Rows[i]["C_CashLine_ID"]), Get_Trx()); if (cashline.GetCashType().ToString() == "A" || cashline.GetCashType().ToString() == "F") { sql = "Select * from C_Cash where C_CashBook_Id=" + cashline.GetC_CashBook_ID() + " and docstatus='DR' and DateAcct=" + GlobalVariable.TO_DATE(DateTime.Now, true); DataSet dscashbook = DB.ExecuteDataset(sql, null, Get_Trx()); if (dscashbook != null) { if (dscashbook.Tables[0].Rows.Count > 0) { int j; for (j = 0; j < dscashbook.Tables[0].Rows.Count; j++) { cash = new MCash(GetCtx(), Util.GetValueOfInt(dscashbook.Tables[0].Rows[j]["C_Cash_ID"]), Get_Trx()); if (!_cashIds.Contains(cash.GetC_Cash_ID())) { _cashIds.Add(cash.GetC_Cash_ID()); } //ViennaAdvantage.Model.MCashLine cashline1 = new ViennaAdvantage.Model.MCashLine(GetCtx(), 0, Get_Trx()); MCashLine cashline1 = new MCashLine(GetCtx(), 0, Get_Trx()); cashline1.SetC_Cash_ID(cash.GetC_Cash_ID()); cashline1.SetAD_Client_ID(cash.GetAD_Client_ID()); cashline1.SetAD_Org_ID(cash.GetAD_Org_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetCashType("F"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetCashType("A"); } cashline1.SetC_CashBook_ID(cashheader.GetC_CashBook_ID()); cashline1.SetC_BPartner_ID(cashline.GetC_BPartner_ID()); sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cash.GetC_CashBook_ID(); Currency_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); if (Currency_ID == C_Currencyheader_ID) { cashline1.SetC_Currency_ID(C_Currencyheader_ID); cashline1.SetAmount(Decimal.Negate(cashline.GetAmount())); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { cashline1.SetC_Currency_ID(Currency_ID); sql = "select multiplyrate from c_conversion_rate where isactive='Y' and c_currency_id=" + C_Currencyheader_ID + " and c_currency_to_id=" + Currency_ID; _Curencyrate = Util.GetValueOfDecimal(DB.ExecuteScalar(sql, null, Get_Trx())); if (_Curencyrate == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else { convertedamount = Decimal.Round(Decimal.Multiply(_Curencyrate, Decimal.Negate(cashline.GetAmount())), 2); } cashline1.SetConvertedAmt(Util.GetValueOfString(convertedamount)); cashline1.SetAmount(convertedamount); } cashline1.SetC_Charge_ID(cashline.GetC_Charge_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetVSS_PAYMENTTYPE("R"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetVSS_PAYMENTTYPE("P"); } cashline1.SetC_CashLine_ID_1(cashline.GetC_CashLine_ID()); if (!cashline1.Save()) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline1 [ Header Found ] "); } if (cashline.GetCashType().ToString() == "F") { cashline.SetC_CashLine_ID_1(cashline1.GetC_CashLine_ID()); } if (!cashline.Save()) { Rollback(); log.Severe("Not Saved"); return(" NotSaved Cashline [ Header Found ] "); } int BeginBal = Util.GetValueOfInt(DB.ExecuteScalar("select completedbalance from c_cashbook where c_cashbook_id=" + cash.GetC_CashBook_ID(), null, Get_Trx())); cash.SetBeginningBalance(BeginBal); if (!cash.Save(Get_Trx())) { Rollback(); log.Severe("Not Saved"); return(" NotSaved Cash [ Header Found ] "); } break; } } else { dscashbook.Dispose(); MCash cash1 = new MCash(GetCtx(), 0, Get_Trx()); cash1.SetAD_Client_ID(cashheader.GetAD_Client_ID()); cash1.SetAD_Org_ID(cashheader.GetAD_Org_ID()); cash1.SetC_DocType_ID(cashheader.GetC_DocType_ID()); cash1.SetName(Util.GetValueOfString(System.DateTime.Today.ToShortDateString())); cash1.SetC_CashBook_ID(cashline.GetC_CashBook_ID()); cash1.SetDateAcct(DateTime.Now); cash1.SetStatementDate(DateTime.Now); if (!cash1.Save()) { Rollback(); VAdvantage.Model.ValueNamePair ppE = VLogger.RetrieveError(); if (ppE != null) { return(ppE.GetName() + "<--->" + ppE.GetValue()); } return("cash1 not saved [header not found->]"); } // return cash1.GetC_Cash_ID() + "suc"; if (!_cashIds.Contains(cash1.GetC_Cash_ID())) { _cashIds.Add(cash1.GetC_Cash_ID()); } MCashLine cashline1 = new MCashLine(GetCtx(), 0, Get_Trx()); cashline1.SetC_Cash_ID(cash1.GetC_Cash_ID()); cashline1.SetAD_Client_ID(cash1.GetAD_Client_ID()); cashline1.SetAD_Org_ID(cash1.GetAD_Org_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetCashType("F"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetCashType("A"); } cashline1.SetC_CashBook_ID(cashheader.GetC_CashBook_ID()); cashline1.SetC_BPartner_ID(cashline.GetC_BPartner_ID()); sql = "select C_Currency_ID from C_CashBook where c_Cashbook_id=" + cash1.GetC_CashBook_ID(); Currency_ID = Util.GetValueOfInt(DB.ExecuteScalar(sql, null, Get_Trx())); if (Currency_ID == C_Currencyheader_ID) { cashline1.SetAmount(Decimal.Negate(cashline.GetAmount())); cashline1.SetC_Currency_ID(C_Currencyheader_ID); cashline1.SetConvertedAmt(Util.GetValueOfString(Decimal.Negate(cashline.GetAmount()))); } else { cashline1.SetC_Currency_ID(Currency_ID); sql = "select multiplyrate from c_conversion_rate where isactive='Y' and c_currency_id=" + C_Currencyheader_ID + " and c_currency_to_id=" + Currency_ID; _Curencyrate = Util.GetValueOfDecimal(DB.ExecuteScalar(sql, null, Get_Trx())); if (_Curencyrate == 0) { return(Msg.GetMsg(GetCtx(), "NoCurrencyRateDefined")); } else { convertedamount = Decimal.Round(Decimal.Multiply(_Curencyrate, Decimal.Negate(cashline.GetAmount())), 2); } cashline1.SetConvertedAmt(Util.GetValueOfString(convertedamount)); cashline1.SetAmount(convertedamount); } cashline1.SetC_Charge_ID(cashline.GetC_Charge_ID()); if (cashline.GetCashType().ToString() == "A") { cashline1.SetVSS_PAYMENTTYPE("R"); } if (cashline.GetCashType().ToString() == "F") { cashline1.SetVSS_PAYMENTTYPE("P"); } cashline1.SetC_CashLine_ID_1(cashline.GetC_CashLine_ID()); if (!cashline1.Save(Get_Trx())) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline1 [ Header not Found ] "); } if (cashline.GetCashType().ToString() == "F") { cashline.SetC_CashLine_ID_1(cashline1.GetC_CashLine_ID()); } if (!cashline.Save(Get_Trx())) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cashline [ Header not Found ] "); } int BeginBal = Util.GetValueOfInt(DB.ExecuteScalar("select completedbalance from c_cashbook where c_cashbook_id=" + cash1.GetC_CashBook_ID(), null, Get_Trx())); cash1.SetBeginningBalance(BeginBal); if (!cash1.Save()) { Rollback(); log.Severe("NotSaved"); return(" NotSaved Cash1 [ Header not Found(bb) ] "); } } } else { //dscashbook.Dispose(); } } else { cashtype++; } } decimal OpenBal = Util.GetValueOfDecimal(DB.ExecuteScalar("SELECT completedbalance FROM C_CashBook WHERE c_cashbook_id=" + cashheader.GetC_CashBook_ID() + "", null, Get_Trx())); cashheader.SetBeginningBalance(OpenBal); if (!cashheader.Save()) { Rollback(); log.Severe("Not Saved"); } } else { dscashline.Dispose(); cashheader.SetGenerateCashBookTransfer("Y"); if (!cashheader.Save()) { Rollback(); log.Severe("NotSaved"); } return(Msg.GetMsg(GetCtx(), "NoCashLineExist")); } if (_cashIds.Count > 0) { for (int k = 0; k < _cashIds.Count; k++) { cash = new MCash(GetCtx(), _cashIds[k], Get_Trx()); cash.SetDocStatus(cash.CompleteIt()); if (!cash.Save()) { Rollback(); log.Severe("NotSaved"); } } } } cashheader.SetGenerateCashBookTransfer("Y"); if (!cashheader.Save()) { log.Severe("NotSaved"); } if (cashtype == i) { return(Msg.GetMsg(GetCtx(), "NoCashLineExist")); } return("Completed"); }