Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            EventLog      ObjEvent = new EventLog();
            StringBuilder LogMsg   = new StringBuilder();

            IsSSOLoginCompulsory      = Convert.ToString(ObjDO.GetSysParam("IsSSOLoginCompulsory")).ToUpper();
            EpicorUserID              = Convert.ToString(ObjDO.GetSysParam("epicorUserID"));
            EpicorUserPassword        = Convert.ToString(ObjDO.GetSysParam("epicorUserPassword"));
            CSharpCodeServerLogSwitch = Convert.ToString(ObjDO.GetSysParam("CSharpCodeServerLogSwitch")).ToUpper();
            TreasuryCompany           = Convert.ToString(ObjDO.GetSysParam("TreasuryCompany"));
            string WriteEventLog = CSharpCodeServerLogSwitch;

            LogMsg.AppendLine("Is SSO Login Compulsory =" + IsSSOLoginCompulsory);

            if (!string.IsNullOrEmpty(IsSSOLoginCompulsory))
            {
                Session["IsSSOLoginCompulsory"] = IsSSOLoginCompulsory;
            }
            else
            {
                Session["TransMessage"] = Convert.ToString("Configuration of Is SSO Login Compulsory missing in sysparam, please contact System Administrator.");
                lblErrMsg.Text          = Convert.ToString(Session["TransMessage"]);
                Response.Redirect("Stcl_ErrorMessage.aspx", false);
                return;
            }

            if (!IsPostBack)
            {
                try
                {
                    string WinLogin  = string.Empty;
                    string WinDomain = string.Empty;

                    DataSet DsValidateSSO = new DataSet();

                    LogMsg.AppendLine("HttpContext.Current.User.Identity.Name =" + HttpContext.Current.User.Identity.Name);

                    LogMsg.AppendLine("User.Identity.Name =" + User.Identity.Name.ToString());


                    if (!string.IsNullOrEmpty(HttpContext.Current.User.Identity.Name))
                    {
                        WinLogin  = ObjDO.LoginIDNoDomain(HttpContext.Current.User.Identity.Name);
                        WinDomain = ObjDO.LoginDomain(HttpContext.Current.User.Identity.Name);
                    }
                    else
                    {
                        WinLogin  = "";
                        WinDomain = "";
                    }

                    LogMsg.AppendLine("WinLogin ="******"WinDomain =" + WinDomain);

                    if (!string.IsNullOrEmpty(WinLogin))
                    {
                        DsValidateSSO = ObjDO.ValidateSingleSignOn(WinLogin, WinDomain);
                        LogMsg.AppendLine("DsValidateSSO =" + Convert.ToString(DsValidateSSO.Tables[0].Rows.Count));
                    }

                    if (DsValidateSSO.Tables.Count > 0 && DsValidateSSO.Tables[0].Rows.Count > 0)
                    {
                        if (Convert.ToBoolean(DsValidateSSO.Tables[0].Rows[0]["RequireSso"]) == true)
                        {
                            EndpointBinding = "Windows";
                            AppSrvUrl       = "net.tcp://" + Convert.ToString(ObjDO.GetSysParam("ServerUrlSSO")); //Single Sign On URL

                            if (string.IsNullOrEmpty(AppSrvUrl))
                            {
                                Session["TransMessage"] = Convert.ToString("Configuration of Server URL for SSO missing in sysparam, please contact System Administrator.");
                                lblErrMsg.Text          = Convert.ToString(Session["TransMessage"]);
                                Response.Redirect("Stcl_ErrorMessage.aspx", false);
                                return;
                            }


                            LogMsg.AppendLine("RequireSso =" + Convert.ToString(DsValidateSSO.Tables[0].Rows[0]["RequireSso"]));

                            string UserId = string.Empty;

                            EpicorUserID       = WinLogin;
                            EpicorUserPassword = "";
                            SessionModImpl SessionModImpl = CreateBusObj <SessionModImpl>(Guid.Empty, SessionModImpl.UriPath);
                            try
                            {
                                Guid sessionId = SessionModImpl.Login();
                                SessionModImpl.SessionID = sessionId;

                                if (SessionModImpl.SessionID != null)
                                {
                                    if (ObjDO.CheckCPOUserYN(EpicorUserID))
                                    {
                                        Session["AppSrvUrl"]       = AppSrvUrl;
                                        Session["EndpointBinding"] = EndpointBinding;
                                        Session["UserId"]          = WinLogin;
                                        Session["Password"]        = "";
                                        Session["IsSSOUser"]       = true;
                                        Session["SessionId"]       = SessionModImpl.SessionID;
                                        Response.Redirect("Stcl_ConsolidateGeneratePaymentInfo.aspx", false);
                                    }
                                    else
                                    {
                                        Session["TransMessage"] = Convert.ToString("Sorry, You don't have Payment Generation rights.");
                                        lblErrMsg.Text          = Convert.ToString(Session["TransMessage"]);
                                        Response.Redirect("Stcl_ErrorMessage.aspx", false);
                                        return;
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                Session["TransMessage"] = ex.Message;
                                Response.Redirect("Stcl_ErrorMessage.aspx", false);
                                return;
                            }
                            finally
                            {
                                SessionModImpl.Logout();
                                SessionModImpl.Dispose();
                            }
                        }
                        else
                        {
                            Session["TransMessage"] = "You are not a valid SSO User 1. Please contact system administrator for login credentials.";
                            Response.Redirect("Stcl_ErrorMessage.aspx", false);
                        }
                    }
                    else
                    {
                        ObjEvent.InformationEvent("GeneratePayment", "Stcl_Login => Page_Load", LogMsg.ToString(), "GeneratePayment", WriteEventLog, 1);

                        if (Convert.ToString(Session["IsSSOLoginCompulsory"]).ToUpper() == "TRUE")
                        {
                            Session["TransMessage"] = "You are not a valid SSO User 2. Please contact system administrator for login credentials.";
                            Response.Redirect("Stcl_ErrorMessage.aspx", false);
                        }
                        else
                        {
                            Session["IsSSOUser"] = false;
                            EpicorUserID         = txtLoginUserId.Text.ToString();
                            EpicorUserPassword   = txtPassword.Text.ToString();
                        }
                    }
                }
                catch (Exception ex)
                {
                    ObjEvent.ExceptionEvent("GeneratePayment", "Stcl_Login => Page_Load", LogMsg.ToString(), ex);
                    Session["TransMessage"] = ex.Message;
                    Response.Redirect("Stcl_ErrorMessage.aspx", false);
                }
                finally
                {
                    ObjEvent.InformationEvent("GeneratePayment", "Stcl_Login => Page_Load", LogMsg.ToString(), "GeneratePayment", WriteEventLog, 1);
                }
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            #region "executing config section"
            Guid SessionId = Guid.Empty;
            var  ConnDet   = GlobalSysFunctions.GetConnectionString(ConfigFile);
            EpicorConnection = ConnDet.Item1;
            AppSrvUrl        = ConnDet.Item2;
            EndpointBinding  = GlobalSysFunctions.GetChannel(ConfigFile);
            SqlCon           = new SqlConnection(Convert.ToString(EpicorConnection));
            #endregion "executing config section"

            CurrentFile = Path.GetFileNameWithoutExtension(CurrentFile);
            AssignValues();

            if (ISSTAllocApplicable == "FALSE")
            {
                LogMsg.AppendLine(Environment.NewLine + "Sub Treasury Allocation is not applicable for this client, Please varify Stcl_Sysparam ISSTAllocApplicable");
                GlobalSysFunctions.ShowCallerInfoSch(false, Convert.ToString(LogMsg), CurrentFile, StclServerLogPath);
                LogMsg.Clear();
                return;
            }

            string CompanyName, PlantID, PlantName, WorkstationID, WorkstationDesc, EmployeeID, CountryGroupCode, CountryCode, TenantID;
            string AllocationLegalNumberID = string.Empty;
            string SqlStr = string.Empty;

            DataTable      DtLegalNumCnfg = new DataTable();
            SessionModImpl SessionModImpl = CreateBusObj <SessionModImpl>(Guid.Empty, SessionModImpl.UriPath);
            LogMsg.AppendLine(" ******************************************");
            try
            {
                Guid sessionId = SessionModImpl.Login();
                SessionModImpl.SessionID = sessionId;
                LogMsg.AppendLine("SessionModImpl.Login / Set current SessionId to SessionModImpl.SessionID Success, DateTime: " + DateTime.Now);

                //To check sub treasury company only, Do not consolidate foreign mission transactions
                string Sql2 = "SELECT key1 " +
                              " FROM Ice.UD01  WITH (NOLOCK) " +
                              " WHERE Company = '" + TreasuryCompany + "' " +
                              " AND CheckBox01 = 1 " +      //CheckBox01 = IsSubTreasury Flag
                              " AND CheckBox02 = 0 " +      //CheckBox02 = IsRAS Flag       //CheckBox03 = Active Flag
                              " AND CheckBox03 = 1 ";       //CheckBox04 = ST Consolidation Process happned only for checked sub treasry
                DataTable dtSTCompList = new DataTable();
                dtSTCompList.Reset();
                dtSTCompList = GetDataSet(Sql2).Tables[0];
                LogMsg.AppendLine("Total of Active Sub Treasury Company : " + dtSTCompList.Rows.Count);

                for (int STComp = 0; STComp < dtSTCompList.Rows.Count; STComp++)
                {
                    string STCompCode = Convert.ToString(dtSTCompList.Rows[STComp][0]);
                    LogMsg.AppendLine("Processing Sub Treasury : " + STCompCode + " -------------------------");

                    DataSet PendingSTConsolidations = new DataSet();
                    PendingSTConsolidations.Reset();
                    PendingSTConsolidations = GetPendingSTConsolidation(STCompCode);

                    DataTable dtGrpHed = new DataTable();
                    dtGrpHed.Reset();
                    dtGrpHed = PendingSTConsolidations.Tables[0];

                    DataTable dtDetail = new DataTable();
                    dtDetail.Reset();
                    dtDetail = PendingSTConsolidations.Tables[1];
                    LogMsg.AppendLine("No Of Rows in dtGrpHed : " + dtGrpHed.Rows.Count + ",       dtDetail : " + dtDetail.Rows.Count);

                    for (int GrpHed = 0; GrpHed < dtGrpHed.Rows.Count; GrpHed++)
                    {
                        //Wait 2 Sec
                        if (GrpHed > 0)
                        {
                            System.Threading.Thread.Sleep(2000);
                        }

                        LogMsg.AppendLine("Processing Group Row : " + (GrpHed + 1) + "/" + dtGrpHed.Rows.Count + " -----------------------");

                        string Company      = Convert.ToString(dtGrpHed.Rows[GrpHed]["Company"]);
                        string GroupID      = Convert.ToString(dtGrpHed.Rows[GrpHed]["GroupID"]);
                        string BookID       = Convert.ToString(dtGrpHed.Rows[GrpHed]["BookID"]);
                        string JournalCode  = Convert.ToString(dtGrpHed.Rows[GrpHed]["JournalCode"]);
                        Int32  RunNbr       = Convert.ToInt32(dtGrpHed.Rows[GrpHed]["RunNbr"]);
                        string VoteCode     = Convert.ToString(dtGrpHed.Rows[GrpHed]["VoteCode"]);
                        string ConsId       = Convert.ToString(dtGrpHed.Rows[GrpHed]["ConsId"]);
                        Int32  ConsNo       = Convert.ToInt32(dtGrpHed.Rows[GrpHed]["ConsNo"]);
                        string Description  = Convert.ToString(dtGrpHed.Rows[GrpHed]["Description"]);
                        string CurrencyCode = Convert.ToString(dtGrpHed.Rows[GrpHed]["CurrencyCode"]);
                        string SiteID       = Convert.ToString(dtGrpHed.Rows[GrpHed]["SiteID"]);
                        LogMsg.AppendLine("ST Company : " + STCompCode + ", MDA Company : " + Company + ",   GroupID : " + GroupID + ",   BookID : " + BookID + ",   RunNbr : " + RunNbr + ",   VoteCode : " + VoteCode + ",   JournalCode : " + JournalCode + ",  SiteID : " + SiteID);

                        string    expresion = "Company = '" + Company + "' AND GroupID = '" + GroupID + "'";
                        DataRow[] foundRows = dtDetail.Select(expresion);
                        LogMsg.AppendLine("foundRows in detail table : " + foundRows.Length + " for the Company : " + Company + " GroupID : " + GroupID);
                        expresion = string.Empty;

                        DataTable tmpdt = new DataTable();
                        tmpdt.Reset();
                        tmpdt     = foundRows.CopyToDataTable();
                        foundRows = null;

                        DateTime JEDate = Convert.ToDateTime(tmpdt.Rows[0]["JEDate"]);

                        #region GLJrnGrp
                        GLJrnGrpDataSet DsGLJrnGrp       = new GLJrnGrpDataSet();
                        GLJrnGrpImpl    GLJrnGrpImpls    = CreateBusObj <GLJrnGrpImpl>(sessionId, GLJrnGrpImpl.UriPath);
                        Int32           FiscalYear       = 0;
                        string          FiscalYearSuffix = string.Empty;
                        Int32           FiscalPeriod     = 0;
                        string          FiscalCalendarID = string.Empty;
                        string          Msg           = string.Empty;
                        bool            IsGroupExist  = false;
                        bool            IsHeaderExist = false;

                        try
                        {
                            SessionModImpl.SetCompany(Company, out CompanyName, out PlantID, out PlantName, out WorkstationID, out WorkstationDesc, out EmployeeID, out CountryGroupCode, out CountryCode, out TenantID);
                            LogMsg.AppendLine("GLJrnGrpImpls, CurrentSession.CompanyID : " + Company);

                            if (IsSiteIDFilterApplicable == "TRUE")
                            {
                                string SiteName = string.Empty;
                                SessionModImpl.SetPlant(SiteID, out SiteName);
                                LogMsg.AppendLine("SessionModImpl.SetPlant, SiteID : " + SiteID + ", SiteName : " + SiteName);
                            }

                            GetFiscalPeriod(Company, BookID, JEDate, out FiscalYear, out FiscalYearSuffix, out FiscalPeriod, out FiscalCalendarID);
                            LogMsg.AppendLine("GetFiscalPeriod Success, FiscalYear : " + FiscalYear + "  FiscalYearSuffix : " + FiscalYearSuffix + "  FiscalPeriod : " + FiscalPeriod + "  FiscalCalendarID : " + FiscalCalendarID);

                            if (FiscalYear == 0 || FiscalPeriod == 0 || FiscalCalendarID == string.Empty)
                            {
                                LogMsg.AppendLine("FiscalYear OR FiscalPeriod OR FiscalCalendarID Not Found In Current Compnay : " + Company);
                                continue;
                            }

                            bool   MorePage = false;
                            string WhereCls = " Company = '" + Company + "' AND GroupID = '" + GroupID + "'";
                            DsGLJrnGrp = GLJrnGrpImpls.GetRows(WhereCls, 0, 0, out MorePage);
                            LogMsg.AppendLine("GLJrnGrpImpls.GetRows Success, DsGLJrnGrp.GLJrnGrp.Rows.Count : " + DsGLJrnGrp.GLJrnGrp.Rows.Count);
                            if (DsGLJrnGrp.GLJrnGrp.Rows.Count > 0)
                            {
                                IsGroupExist = true;
                                LogMsg.AppendLine("GLJrnGrpImpls.GetRows Success, GroupID Exists, Company : " + Company + "  GroupID " + GroupID);
                            }

                            if (IsGroupExist == false)
                            {
                                GLJrnGrpImpls.GetNewGLJrnGrp(DsGLJrnGrp);
                                string GrpCmp = DsGLJrnGrp.GLJrnGrp[0].Company;
                                LogMsg.AppendLine("GLJrnGrpImpls.GetNewGLJrnGrp Success @ Company : " + GrpCmp);

                                if (GrpCmp != Company)
                                {
                                    LogMsg.AppendLine("Current Company is " + Company + ", But Group created in " + GrpCmp + ", Which is invalid");
                                    return;
                                }

                                DsGLJrnGrp.GLJrnGrp[0].GroupID          = GroupID;
                                DsGLJrnGrp.GLJrnGrp[0].FiscalYear       = FiscalYear;
                                DsGLJrnGrp.GLJrnGrp[0].FiscalPeriod     = FiscalPeriod;
                                DsGLJrnGrp.GLJrnGrp[0].FiscalYearSuffix = FiscalYearSuffix;
                                DsGLJrnGrp.GLJrnGrp[0].FiscalCalendarID = FiscalCalendarID;
                                DsGLJrnGrp.GLJrnGrp[0].JEDate           = JEDate;
                                DsGLJrnGrp.GLJrnGrp[0].JournalCode      = JournalCode;
                                DsGLJrnGrp.GLJrnGrp[0]["STConsNo_c"]    = RunNbr;
                                DsGLJrnGrp.GLJrnGrp[0]["STCompany_c"]   = STCompCode;
                                DsGLJrnGrp.GLJrnGrp[0]["SiteID_c"]      = SiteID;

                                GLJrnGrpImpls.CheckFiscalYear(DsGLJrnGrp, GroupID, JEDate, out Msg);
                                LogMsg.AppendLine("GLJrnGrpImpls.CheckFiscalYear Success");

                                GLJrnGrpImpls.ChangeEntryMode("S", DsGLJrnGrp);
                                LogMsg.AppendLine("GLJrnGrpImpls.ChangeEntryMode Success");

                                GLJrnGrpImpls.ChangeBookID(BookID, DsGLJrnGrp);
                                LogMsg.AppendLine("GLJrnGrpImpls.ChangeBookID Success");

                                GLJrnGrpImpls.Update(DsGLJrnGrp);
                                LogMsg.AppendLine("GLJrnGrpImpls.Update Success");
                            }
                        }
                        catch (Exception ex)
                        {
                            //Record error
                            RecordErrorLog("GLJrnGrp", ex.Message.ToString(), Company, FiscalPeriod, FiscalPeriod, RunNbr);
                            LogMsg.AppendLine("GLJrnGrpImpls > GLJrnGrp Update Failed > " + ex.Message.ToString());
                            continue;
                        }
                        #endregion

                        #region GLJrnHed
                        GLJournalEntryDataSet DsGLJournalEntry    = new GLJournalEntryDataSet();
                        GLJournalEntryImpl    GLJournalEntryImpls = CreateBusObj <GLJournalEntryImpl>(sessionId, GLJournalEntryImpl.UriPath);
                        LogMsg.AppendLine("GLJournalEntry.GLJrnHed Success");

                        try
                        {
                            bool RequiredUserInput = false;
                            bool MorePage          = false;

                            string WhereCls = " Company = '" + Company + "' AND GroupID = '" + GroupID + "' AND Posted = 0";
                            DsGLJournalEntry = GLJournalEntryImpls.GetRows(WhereCls, "", "", "", "", "", "", "", 0, 0, out MorePage);
                            LogMsg.AppendLine("GLJournalEntry.GetRows Success, DsGLJournalEntry.GLJrnHed.Rows.Count : " + DsGLJournalEntry.GLJrnHed.Rows.Count);
                            if (DsGLJournalEntry.GLJrnHed.Rows.Count > 0)
                            {
                                LogMsg.AppendLine("GLJournalEntry.GetRows Success, GLJrnHed Exists, Company : " + Company + "  GroupID " + GroupID);
                                IsHeaderExist = true;
                            }

                            if (IsHeaderExist == false)
                            {
                                GLJournalEntryImpls.GetNewGlJrnHedTran(DsGLJournalEntry, GroupID);
                                LogMsg.AppendLine("GLJournalEntry.GetNewGlJrnHedTran Success");

                                DsGLJournalEntry.GLJrnHed[0].FiscalYear          = FiscalYear;
                                DsGLJournalEntry.GLJrnHed[0].JournalCode         = JournalCode;
                                DsGLJournalEntry.GLJrnHed[0].FiscalPeriod        = FiscalPeriod;
                                DsGLJournalEntry.GLJrnHed[0].Description         = Description;
                                DsGLJournalEntry.GLJrnHed[0].JEDate              = JEDate;
                                DsGLJournalEntry.GLJrnHed[0].FiscalCalendarID    = FiscalCalendarID;
                                DsGLJournalEntry.GLJrnHed[0].CurrencyCode        = CurrencyCode;
                                DsGLJournalEntry.GLJrnHed[0].FiscalYearSuffix    = FiscalYearSuffix;
                                DsGLJournalEntry.GLJrnHed[0].CommentText         = Description;
                                DsGLJournalEntry.GLJrnHed[0]["STConsNo_c"]       = RunNbr;
                                DsGLJournalEntry.GLJrnHed[0]["STCompany_c"]      = STCompCode;
                                DsGLJournalEntry.GLJrnHed[0]["IsSysGenerated_c"] = false;
                                DsGLJournalEntry.GLJrnHed[0]["Submitted4Appr_c"] = false;
                                DsGLJournalEntry.GLJrnHed[0]["Approved_c"]       = false;
                                DsGLJournalEntry.GLJrnHed[0]["SiteID_c"]         = SiteID;

                                GLJournalEntryImpls.PreUpdate(DsGLJournalEntry, out RequiredUserInput);
                                LogMsg.AppendLine("GLJournalEntry.GLJrnHed.PreUpdate Success");

                                GLJournalEntryImpls.Update(DsGLJournalEntry);
                                LogMsg.AppendLine("GLJournalEntry.GLJrnHed.Update Success");
                            }
                        }
                        catch (Exception ex)
                        {
                            //Record error
                            RecordErrorLog("GLJrnHed", ex.Message.ToString(), Company, FiscalPeriod, FiscalPeriod, RunNbr);
                            LogMsg.AppendLine("DsGLJournalEntry.GLJrnHed > Update Failed > " + ex.Message.ToString());

                            GLJrnGrpDataSet DsGLJrnGrpDelete    = new GLJrnGrpDataSet();
                            GLJrnGrpImpl    GLJrnGrpImplsDelete = CreateBusObj <GLJrnGrpImpl>(sessionId, GLJrnGrpImpl.UriPath);

                            DsGLJrnGrpDelete = GLJrnGrpImplsDelete.GetByID(GroupID);
                            LogMsg.AppendLine("GLJrnGrpDelete > GetByID Success, Company : " + Company + " GroupID : " + GroupID);

                            GLJrnGrpImplsDelete.CheckDocumentIsLocked(GroupID);
                            LogMsg.AppendLine("GLJrnGrpDelete > CheckDocumentIsLocked Success, Company : " + Company + " GroupID : " + GroupID);

                            DsGLJrnGrpDelete.GLJrnGrp[0].RowMod = "D";
                            DsGLJrnGrpDelete.GLJrnGrp[0].Delete();

                            GLJrnGrpImplsDelete.Update(DsGLJrnGrpDelete);
                            LogMsg.AppendLine("GLJrnGrpDelete > Update Method > Delete Success, Company : " + Company + " GroupID : " + GroupID);
                            continue;
                        }
                        #endregion

                        #region GLJrnDtlMnl
                        bool IsErrorFound        = false;
                        int  GLJrnDtlMnlRowIndex = 0;
                        for (int Dtl = 0; Dtl < tmpdt.Rows.Count; Dtl++)
                        {
                            try
                            {
                                if (DsGLJournalEntry.GLJrnDtlMnl.Rows.Count != 0)
                                {
                                    //Bcoz its updating on line number 0 to ........
                                    //Getting error message, G/L Account is required
                                    GLJrnDtlMnlRowIndex = DsGLJournalEntry.GLJrnDtlMnl.Rows.Count;
                                }
                                decimal TransAmtDtl             = Convert.ToDecimal(tmpdt.Rows[Dtl]["TransAmt"]);
                                string  SessionBookID           = DsGLJournalEntry.GLJrnHed[0].BookID;
                                Int32   SessionFiscalYear       = DsGLJournalEntry.GLJrnHed[0].FiscalYear;
                                string  SessionFiscalYearSuffix = DsGLJournalEntry.GLJrnHed[0].FiscalYearSuffix;
                                string  SessionJournalCode      = DsGLJournalEntry.GLJrnHed[0].JournalCode;
                                Int32   SessionJournalNum       = DsGLJournalEntry.GLJrnHed[0].JournalNum;
                                string  SessionGroupID          = DsGLJournalEntry.GLJrnHed[0].GroupID;

                                string    Expresion = "Company = '" + Company + "' AND GroupID = '" + GroupID + "' AND GLAccount = '" + Convert.ToString(tmpdt.Rows[Dtl]["GLAccount"]) + "' AND TransAmt = " + TransAmtDtl;
                                DataRow[] RowExist  = DsGLJournalEntry.GLJrnDtlMnl.Select(Expresion);
                                LogMsg.AppendLine("GLJournalEntry.GetNewGLJrnDtlMnl[" + GLJrnDtlMnlRowIndex + "], " + Expresion);
                                Expresion = string.Empty;

                                if (RowExist.Length > 0)
                                {
                                    LogMsg.AppendLine("GLJournalEntry.GetNewGLJrnDtlMnl[" + GLJrnDtlMnlRowIndex + "], Above GLJrnDtlMnl transaction already exist in system with same filters");
                                }

                                if (RowExist.Length == 0)
                                {
                                    GLJournalEntryImpls.GetNewGLJrnDtlMnl(DsGLJournalEntry, SessionBookID, SessionFiscalYear, SessionFiscalYearSuffix, SessionJournalCode, SessionJournalNum, 0);
                                    LogMsg.AppendLine("GLJournalEntry.GetNewGLJrnDtlMnl[" + GLJrnDtlMnlRowIndex + "] Success");

                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].Description = Description;
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].GroupID     = SessionGroupID;

                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].GLAccount      = Convert.ToString(tmpdt.Rows[Dtl]["GLAccount"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue1      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue1"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue2      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue2"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue3      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue3"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue4      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue4"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue5      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue5"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue6      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue6"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue7      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue7"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue8      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue8"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue9      = Convert.ToString(tmpdt.Rows[Dtl]["SegValue9"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue10     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue10"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue11     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue11"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue12     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue12"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue13     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue13"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue14     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue14"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue15     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue15"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue16     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue16"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue17     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue17"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue18     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue18"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue19     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue19"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].SegValue20     = Convert.ToString(tmpdt.Rows[Dtl]["SegValue20"]);
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex]["STCompany_c"] = STCompCode;
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex]["STConsNo_c"]  = RunNbr;
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex]["IsSTCons_c"]  = true;
                                    DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].TransAmt       = TransAmtDtl;
                                    if (TransAmtDtl > 0)
                                    {
                                        DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].TotDebit = TransAmtDtl;
                                    }
                                    else
                                    {
                                        DsGLJournalEntry.GLJrnDtlMnl[GLJrnDtlMnlRowIndex].TotCredit = Math.Abs(TransAmtDtl);
                                    }
                                    LogMsg.AppendLine("DsGLJournalEntry.GLJrnDtlMnl[" + GLJrnDtlMnlRowIndex + "] Values Assigned Success");

                                    GLJournalEntryImpls.Update(DsGLJournalEntry);
                                    LogMsg.AppendLine("GLJournalEntry.GLJrnDtlMnl[" + GLJrnDtlMnlRowIndex + "].Update Success");
                                    GLJrnDtlMnlRowIndex += 1;
                                }
                            }
                            catch (Exception ex2)
                            {
                                //Record error
                                IsErrorFound = true;
                                RecordErrorLog("GLJrnDtlMnl", ex2.Message.ToString(), Company, FiscalPeriod, FiscalPeriod, RunNbr);
                                LogMsg.AppendLine("DsGLJournalEntry.GLJrnDtlMnl > Update Failed > " + ex2.Message.ToString());

                                GLJournalEntryDataSet DsGLJournalEntryDelete = new GLJournalEntryDataSet();
                                GLJournalEntryImpl    GLJournalEntryDelete   = CreateBusObj <GLJournalEntryImpl>(sessionId, GLJournalEntryImpl.UriPath);

                                DsGLJournalEntryDelete = GLJournalEntryDelete.GetByGroupID(GroupID);
                                LogMsg.AppendLine("GLJournalEntryDelete > GetByGroupID Success, Company : " + Company + " GroupID : " + GroupID);

                                DsGLJournalEntryDelete.GLJrnHed[0]["IsSysGenerated_c"] = false;
                                DsGLJournalEntryDelete.GLJrnHed[0]["Submitted4Appr_c"] = false;
                                DsGLJournalEntryDelete.GLJrnHed[0]["Approved_c"]       = false;
                                DsGLJournalEntryDelete.GLJrnHed[0].RowMod = "U";

                                GLJournalEntryDelete.Update(DsGLJournalEntryDelete);
                                LogMsg.AppendLine("GLJournalEntryDelete > Update Method > Delete Success, Company : " + Company + " GroupID : " + GroupID);

                                DsGLJournalEntryDelete.GLJrnHed[0].RowMod = "D";
                                DsGLJournalEntryDelete.GLJrnHed[0].Delete();

                                GLJournalEntryDelete.Update(DsGLJournalEntryDelete);
                                LogMsg.AppendLine("GLJournalEntryDelete > Delete Success, Company : " + Company + " GroupID : " + GroupID);

                                GLJrnGrpDataSet DsGLJrnGrpDelete    = new GLJrnGrpDataSet();
                                GLJrnGrpImpl    GLJrnGrpImplsDelete = CreateBusObj <GLJrnGrpImpl>(sessionId, GLJrnGrpImpl.UriPath);

                                DsGLJrnGrpDelete = GLJrnGrpImplsDelete.GetByID(GroupID);
                                LogMsg.AppendLine("GLJrnGrpDelete > GetByID Success, Company : " + Company + " GroupID : " + GroupID);

                                GLJrnGrpImplsDelete.CheckDocumentIsLocked(GroupID);
                                LogMsg.AppendLine("GLJrnGrpDelete > CheckDocumentIsLocked Success, Company : " + Company + " GroupID : " + GroupID);

                                DsGLJrnGrpDelete.GLJrnGrp[0].RowMod = "D";
                                DsGLJrnGrpDelete.GLJrnGrp[0].Delete();

                                GLJrnGrpImplsDelete.Update(DsGLJrnGrpDelete);
                                LogMsg.AppendLine("GLJrnGrpDelete > Update Method > Delete Success, Company : " + Company + " GroupID : " + GroupID);
                                break; //Do not change, Always use break
                            }
                        }
                        #endregion

                        if (IsErrorFound == false)
                        {
                            UpdateGLJrnDtl(STCompCode, VoteCode, GroupID, FiscalYear, FiscalPeriod, RunNbr);
                            LogMsg.AppendLine("UpdateGLJrnDtl Success, Record updated in sub treasury company");

                            DsGLJournalEntry.GLJrnHed[0]["IsSysGenerated_c"] = true;
                            DsGLJournalEntry.GLJrnHed[0]["Submitted4Appr_c"] = true;
                            DsGLJournalEntry.GLJrnHed[0]["Approved_c"]       = true;
                            GLJournalEntryImpls.Update(DsGLJournalEntry);

                            string GroupID1 = DsGLJrnGrp.GLJrnGrp[0].GroupID;
                            GLJrnGrpImpls.UnlockGroup(GroupID1);
                            LogMsg.AppendLine("GLJrnGrpImpls.UnlockGroup Success-------------");
                        }
                        GlobalSysFunctions.ShowCallerInfoSch(false, Convert.ToString(LogMsg), CurrentFile, StclServerLogPath);
                        LogMsg.Clear();
                    }
                }
                LogMsg.AppendLine("Process Successfully Completed...........");
            }
            catch (Exception ex)
            {
                LogMsg.AppendLine("Error : " + ex.Message);
            }
            finally
            {
                if (SessionModImpl.SessionID != Guid.Empty)
                {
                    SessionModImpl.Logout();
                    LogMsg.AppendLine("SessionModImpl logout Success, DateTime: " + DateTime.Now);
                }
                LogMsg.AppendLine("--------------------------------------------------------------");
                GlobalSysFunctions.ShowCallerInfoSch(false, Convert.ToString(LogMsg), CurrentFile, StclServerLogPath);
                LogMsg.Clear();
            }
        }
Exemplo n.º 3
0
        protected void btnProceed_Click(object sender, EventArgs e)
        {
            if (Convert.ToString(Session["IsSSOLoginCompulsory"]).ToUpper() == "FALSE")
            {
                if (!string.IsNullOrEmpty(Convert.ToString(txtLoginUserId.Text)) && !string.IsNullOrEmpty(Convert.ToString(txtPassword.Text)))
                {
                    AppSrvUrl       = "net.tcp://" + Convert.ToString(ObjDO.GetSysParam("ServerUrl")); //NON Single Sign On URL
                    EndpointBinding = "UsernameWindowsChannel";

                    EpicorUserID       = txtLoginUserId.Text.ToString();
                    EpicorUserPassword = txtPassword.Text.ToString();

                    SessionModImpl SessionModImpl = CreateBusObj <SessionModImpl>(Guid.Empty, SessionModImpl.UriPath);
                    try
                    {
                        Guid sessionId = SessionModImpl.Login();
                        SessionModImpl.SessionID = sessionId;

                        if (SessionModImpl.SessionID != null)
                        {
                            if (ObjDO.CheckCPOUserYN(EpicorUserID))
                            {
                                Session["IsSSOUser"]       = false;
                                Session["AppSrvUrl"]       = AppSrvUrl;
                                Session["EndpointBinding"] = EndpointBinding;
                                Session["SessionId"]       = SessionModImpl.SessionID;
                            }
                            else
                            {
                                Session["TransMessage"] = Convert.ToString("Sorry, You don't have Payment Generation rights.");
                                lblErrMsg.Text          = Convert.ToString(Session["TransMessage"]);
                                Response.Redirect("Stcl_ErrorMessage.aspx", false);
                                return;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        if (ex.Message.ToUpper() == "Invalid username or password.".ToUpper())
                        {
                            Session["TransMessage"] = Convert.ToString(ex.Message);
                            lblErrMsg.Text          = Convert.ToString(Session["TransMessage"]);
                            Response.Redirect("Stcl_ErrorMessage.aspx");
                        }
                        else
                        {
                            Session["TransMessage"] = Convert.ToString(ex.Message);

                            lblErrMsg.Text = Convert.ToString(Session["TransMessage"]);
                            Response.Redirect("Stcl_ErrorMessage.aspx");
                        }
                    }
                    finally
                    {
                        SessionModImpl.Logout();
                        SessionModImpl.Dispose();
                    }

                    Session["UserId"]   = Convert.ToString(txtLoginUserId.Text).Trim();
                    Session["Password"] = Convert.ToString(txtPassword.Text).Trim();
                    Response.Redirect("Stcl_ConsolidateGeneratePaymentInfo.aspx", false);
                }
            }
            else
            {
                Session["TransMessage"] = "You are not a valid SSO User 2. Please contact system administrator for login credentials.";
                Response.Redirect("Stcl_ErrorMessage.aspx", false);
            }
        }
        private void GetGenPmntData()
        {
            try
            {
                PaymentGeneratorUserId = Convert.ToString(Session["UserId"]);
                Password  = Convert.ToString(Session["Password"]);
                CompanyId = ddlCompany.SelectedValue.ToString();

                if (Convert.ToString(Session["IsSalaryPaymentRequired"]) == "TRUE")
                {
                    if (chkSalaryPay.Checked == true)
                    {
                        Session["IsSalaryPay"] = true;
                        CompanyId = "Salary Payment";
                    }
                    else
                    {
                        Session["IsSalaryPay"] = false;
                    }
                }
                else
                {
                    Session["IsSalaryPay"] = false;
                }

                if (!string.IsNullOrEmpty(Convert.ToString(Session["AppSrvUrl"])) && !string.IsNullOrEmpty(Convert.ToString(Session["EndpointBinding"])))
                {
                    #region Inside Connection
                    EpicorUserID       = PaymentGeneratorUserId;
                    EpicorUserPassword = Password;
                    AppSrvUrl          = Convert.ToString(Session["AppSrvUrl"]);
                    EndpointBinding    = Convert.ToString(Session["EndpointBinding"]);

                    SessionModImpl SessionModImpl = CreateBusObj <SessionModImpl>(Guid.Empty, SessionModImpl.UriPath);
                    try
                    {
                        Guid sessionId = SessionModImpl.Login();
                        SessionModImpl.SessionID = sessionId;

                        if (SessionModImpl.SessionID != null)
                        {
                            Session["SessionId"] = SessionModImpl.SessionID;
                            SessionId            = Convert.ToString(Session["SessionId"]);

                            if (!String.IsNullOrEmpty(CompanyId.Trim()) && !String.IsNullOrEmpty(PaymentGeneratorUserId.Trim()) && !string.IsNullOrEmpty(Convert.ToString(SessionId.Trim())))
                            {
                                DataSet DsGeneratePaymentConsolidatedData = new DataSet();
                                DsGeneratePaymentConsolidatedData = objDo.GetConsolidatedGeneratePaymentData(Convert.ToString(PaymentGeneratorUserId).Trim(), ddlCompany.SelectedValue.ToString(), txtBankAccId.Text.ToString().Replace("'", "''"), Convert.ToBoolean(Session["IsSalaryPay"]));
                                if (DsGeneratePaymentConsolidatedData.Tables.Count > 0 && DsGeneratePaymentConsolidatedData.Tables[0].Rows.Count > 0)
                                {
                                    grvGeneratePaymentConsolidatedData.DataSource = DsGeneratePaymentConsolidatedData.Tables[0];
                                    grvGeneratePaymentConsolidatedData.DataBind();
                                }
                                else
                                {
                                    grvGeneratePaymentConsolidatedData.DataSource = DsGeneratePaymentConsolidatedData.Tables[0];
                                    grvGeneratePaymentConsolidatedData.DataBind();
                                    ScriptManager.RegisterStartupScript(Page, GetType(), "Error", "alert('No data for generate payment.');", true);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        if (ex.Message.ToUpper() == "Invalid user ID or password.".ToUpper())
                        {
                            Session["TransMessage"] = Convert.ToString(ex.Message);
                            Response.Redirect("Stcl_ErrorMessage.aspx");
                        }
                        else
                        {
                            Session["TransMessage"] = Convert.ToString(ex.Message);
                            Response.Redirect("Stcl_ErrorMessage.aspx");
                        }
                    }
                    finally
                    {
                        SessionModImpl.Logout();
                        SessionModImpl.Dispose();
                    }
                    #endregion Connection Pool
                }
                else
                {
                    Session["TransMessage"] = "Session is expired!";
                    Response.Redirect("Stcl_ErrorMessage.aspx", false);
                }
            }
            catch (Exception ex)
            {
                Session["TransMessage"] = Convert.ToString(ex.Message);
                Response.Redirect("Stcl_ErrorMessage.aspx");
            }
        }