Beispiel #1
0
        /// <summary>
        /// This Function is used to create TargetVsCompletes Charts for Each active Airport Login and Store it in the Aproapriate path
        /// </summary>
        /// <returns></returns>
        public ReturnValue CreateCacheFileforTargetVsCompletesCharts(string Instance)
        {
            const string FUNCTION_NAME = "CreateCacheFileforTargetVsCompletesCharts";
            ReturnValue  RetValue      = new ReturnValue();

            SICTLogger.WriteInfo(CLASS_NAME, FUNCTION_NAME, "Start");
            try
            {
                int Year    = 0;
                int Quarter = 0;
                GetQuarterAndYearDetails(ref Quarter, ref Year);
                DataTable DtLogin = new DataTable();
                SICTLogger.WriteVerbose(CLASS_NAME, FUNCTION_NAME, "Retrieving all Airport login's from DB");
                DtLogin = GetAllAirportLogins(Instance);
                if (DtLogin.Rows.Count > 1)
                {
                    for (int LoginCnt = 0; LoginCnt < DtLogin.Rows.Count; LoginCnt++)
                    {
                        int AirportLoginId = Convert.ToInt32(DtLogin.Rows[LoginCnt][BusinessConstants.AIRPORTLOGINID].ToString());
                        List <TargetsVsCompletes>            TargetsandCompletes           = new List <TargetsVsCompletes>();
                        List <MissingTargetsVsBusinessClass> MissingTargetsVsBusinessClass = new List <MissingTargetsVsBusinessClass>();
                        DataSet DSTargetCompletes = new DataSet();
                        SICTLogger.WriteVerbose(CLASS_NAME, FUNCTION_NAME, "Retrieving all Targets and Completes for the Airport login -" + AirportLoginId);
                        DSTargetCompletes = GetTargetandCompleteforAirportLogin(Instance, AirportLoginId, Quarter, Year);
                        if (DSTargetCompletes.Tables.Count > 2)
                        {
                            foreach (DataRow DrTarget in DSTargetCompletes.Tables[0].Rows)
                            {
                                //Target Vs Business Class
                                TargetsVsCompletes TempTargetsandCompletes = new TargetsVsCompletes();
                                int    AirlineId   = Convert.ToInt32(DrTarget[BusinessConstants.AIRLINEID].ToString());
                                int    Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                                string AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                                string Code        = DrTarget[BusinessConstants.CODE].ToString();

                                int       Completes   = 0;
                                DataRow[] DrCompletes = DSTargetCompletes.Tables[1].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                                if (DrCompletes.Length > 0)
                                {
                                    Completes = Convert.ToInt32(DrCompletes[0][BusinessConstants.COMPLETES].ToString());
                                }

                                TempTargetsandCompletes.AirlineId   = AirlineId;
                                TempTargetsandCompletes.AirlineName = AirlineName;
                                TempTargetsandCompletes.Code        = Code;
                                TempTargetsandCompletes.Target      = Target;
                                TempTargetsandCompletes.Completes   = Completes;

                                TargetsandCompletes.Add(TempTargetsandCompletes);

                                //Missing Targets Vs Missing Business Class
                                MissingTargetsVsBusinessClass TempMissingTargetsVsBusinessClass = new MissingTargetsVsBusinessClass();
                                int       BusinessCompletes   = 0;
                                DataRow[] DrBusinessCompletes = DSTargetCompletes.Tables[2].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                                if (DrBusinessCompletes.Length > 0)
                                {
                                    BusinessCompletes = Convert.ToInt32(DrBusinessCompletes[0][BusinessConstants.BUSINESSCOMPLETES].ToString());
                                }

                                TempMissingTargetsVsBusinessClass.AirlineId     = AirlineId;
                                TempMissingTargetsVsBusinessClass.AirlineName   = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                                TempMissingTargetsVsBusinessClass.Code          = DrTarget[BusinessConstants.CODE].ToString();
                                TempMissingTargetsVsBusinessClass.MissingTarget = Target - Completes;
                                double BusinessTarget = (Target * (1 / 3.0));
                                TempMissingTargetsVsBusinessClass.MissingCompletes = Convert.ToInt32(Math.Round(BusinessTarget - BusinessCompletes, 0, MidpointRounding.AwayFromZero));

                                MissingTargetsVsBusinessClass.Add(TempMissingTargetsVsBusinessClass);
                            }
                        }
                        WriteTargetVsCompletesChartsCacheFile(Instance, AirportLoginId.ToString(), TargetsandCompletes);
                        WriteMissingTargetsVsBusinessClassChartCacheFile(Instance, AirportLoginId.ToString(), MissingTargetsVsBusinessClass);
                    }
                }

                //Admin Cache File Creation
                List <TargetsVsCompletes>            AllTargetsandCompletes           = new List <TargetsVsCompletes>();
                List <MissingTargetsVsBusinessClass> AllMissingTargetsVsBusinessClass = new List <MissingTargetsVsBusinessClass>();
                DataSet DSAll = GetAllTargetandComplete(Instance, Quarter, Year);
                if (DSAll.Tables.Count > 2)
                {
                    foreach (DataRow DrTarget in DSAll.Tables[0].Rows)
                    {
                        //Target Vs Business Class
                        TargetsVsCompletes TempTargetsandCompletes = new TargetsVsCompletes();
                        int       AirlineId   = Convert.ToInt32(DrTarget[BusinessConstants.AIRLINEID].ToString());
                        int       Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                        string    AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                        string    Code        = DrTarget[BusinessConstants.CODE].ToString();
                        int       Completes   = 0;
                        DataRow[] DrCompletes = DSAll.Tables[1].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);

                        if (DrCompletes.Length > 0)
                        {
                            Completes = Convert.ToInt32(DrCompletes[0][BusinessConstants.COMPLETES].ToString());
                        }

                        TempTargetsandCompletes.AirlineId   = AirlineId;
                        TempTargetsandCompletes.AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                        TempTargetsandCompletes.Code        = Code;
                        TempTargetsandCompletes.Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                        TempTargetsandCompletes.Completes   = Completes;

                        AllTargetsandCompletes.Add(TempTargetsandCompletes);

                        //Missing Targets Vs Missing Business Class
                        MissingTargetsVsBusinessClass TempMissingTargetsVsBusinessClass = new MissingTargetsVsBusinessClass();
                        int       BusinessCompletes   = 0;
                        DataRow[] DrBusinessCompletes = DSAll.Tables[2].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                        if (DrBusinessCompletes.Length > 0)
                        {
                            BusinessCompletes = Convert.ToInt32(DrBusinessCompletes[0][BusinessConstants.BUSINESSCOMPLETES].ToString());
                        }

                        TempMissingTargetsVsBusinessClass.AirlineId     = AirlineId;
                        TempMissingTargetsVsBusinessClass.AirlineName   = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                        TempMissingTargetsVsBusinessClass.Code          = DrTarget[BusinessConstants.CODE].ToString();
                        TempMissingTargetsVsBusinessClass.MissingTarget = Target - Completes;
                        double BusinessTarget = (Target * (1 / 3.0));
                        TempMissingTargetsVsBusinessClass.MissingCompletes = Convert.ToInt32(Math.Round(BusinessTarget - BusinessCompletes, 0, MidpointRounding.AwayFromZero));

                        AllMissingTargetsVsBusinessClass.Add(TempMissingTargetsVsBusinessClass);
                    }
                }
                WriteTargetVsCompletesChartsCacheFile(Instance, BusinessConstants.ADMIN_CACHEFILE_NAME, AllTargetsandCompletes);
                WriteMissingTargetsVsBusinessClassChartCacheFile(Instance, BusinessConstants.ADMIN_CACHEFILE_NAME, AllMissingTargetsVsBusinessClass);
            }
            catch (Exception Ex)
            {
                RetValue.ReturnCode    = -1;
                RetValue.ReturnMessage = "Cache file creation Failed - error in API ";
                SICTLogger.WriteException(CLASS_NAME, FUNCTION_NAME, Ex);
            }
            SICTLogger.WriteInfo(CLASS_NAME, FUNCTION_NAME, "End");
            return(RetValue);
        }
        /// <summary>
        /// This Function is used to create TargetVsCompletes Charts for Each active Airport Login and Store it in the Aproapriate path
        /// </summary>
        /// <returns></returns>
        public ReturnValue CreateCacheFileforTargetVsCompletesCharts()
        {
            const string FUNCTION_NAME = "CreateCacheFileforTargetVsCompletesCharts";
            ReturnValue  RetValue      = new ReturnValue();

            SICTLogger.WriteInfo(CLASS_NAME, FUNCTION_NAME, "Start");
            try
            {
                DataAccessLayer.DataAccessLayer DBLayer = new DataAccessLayer.DataAccessLayer();
                DataTable DtLogin = new DataTable();
                SICTLogger.WriteVerbose(CLASS_NAME, FUNCTION_NAME, "Retrieving all Airport login's from DB");
                DtLogin = DBLayer.GetAllAirportLogins();
                if (DtLogin.Rows.Count > 1)
                {
                    for (int LoginCnt = 0; LoginCnt < DtLogin.Rows.Count; LoginCnt++)
                    {
                        int AirportLoginId = Convert.ToInt32(DtLogin.Rows[LoginCnt][BusinessConstants.AIRPORTLOGINID].ToString());
                        List <TargetsVsCompletes>            TargetsandCompletes           = new List <TargetsVsCompletes>();
                        List <MissingTargetsVsBusinessClass> MissingTargetsVsBusinessClass = new List <MissingTargetsVsBusinessClass>();
                        DataSet DSTargetCompletes = new DataSet();
                        SICTLogger.WriteVerbose(CLASS_NAME, FUNCTION_NAME, "Retrieving all Targets and Completes for the Airport login -" + AirportLoginId);
                        DSTargetCompletes = DBLayer.GetTargetandCompleteforAirportLogin(AirportLoginId);
                        if (DSTargetCompletes.Tables.Count > 2)
                        {
                            foreach (DataRow DrTarget in DSTargetCompletes.Tables[0].Rows)
                            {
                                //Target Vs Business Class
                                TargetsVsCompletes TempTargetsandCompletes = new TargetsVsCompletes();
                                int    AirlineId   = Convert.ToInt32(DrTarget[BusinessConstants.AIRLINEID].ToString());
                                int    Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                                string AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();

                                int       Completes   = 0;
                                DataRow[] DrCompletes = DSTargetCompletes.Tables[1].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                                if (DrCompletes.Length > 0)
                                {
                                    Completes = Convert.ToInt32(DrCompletes[0][BusinessConstants.COMPLETES].ToString());
                                }

                                TempTargetsandCompletes.AirlineId   = AirlineId;
                                TempTargetsandCompletes.AirlineName = AirlineName;
                                TempTargetsandCompletes.Target      = Target;
                                TempTargetsandCompletes.Completes   = Completes;

                                TargetsandCompletes.Add(TempTargetsandCompletes);

                                //Missing Targets Vs Missing Business Class
                                MissingTargetsVsBusinessClass TempMissingTargetsVsBusinessClass = new MissingTargetsVsBusinessClass();
                                int       BusinessCompletes   = 0;
                                DataRow[] DrBusinessCompletes = DSTargetCompletes.Tables[2].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                                if (DrBusinessCompletes.Length > 0)
                                {
                                    BusinessCompletes = Convert.ToInt32(DrBusinessCompletes[0][BusinessConstants.BUSINESSCOMPLETES].ToString());
                                }

                                TempMissingTargetsVsBusinessClass.AirlineId        = AirlineId;
                                TempMissingTargetsVsBusinessClass.AirlineName      = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                                TempMissingTargetsVsBusinessClass.MissingTarget    = Target - Completes;
                                TempMissingTargetsVsBusinessClass.MissingCompletes = (Target * (1 / 3)) - Convert.ToDouble(BusinessCompletes);

                                MissingTargetsVsBusinessClass.Add(TempMissingTargetsVsBusinessClass);
                            }
                        }
                        WriteTargetVsCompletesChartsCacheFile(AirportLoginId.ToString(), TargetsandCompletes);
                        WriteMissingTargetsVsBusinessClassChartCacheFile(AirportLoginId.ToString(), MissingTargetsVsBusinessClass);
                    }
                }

                //Admin Cache File Creation
                List <TargetsVsCompletes>            AllTargetsandCompletes           = new List <TargetsVsCompletes>();
                List <MissingTargetsVsBusinessClass> AllMissingTargetsVsBusinessClass = new List <MissingTargetsVsBusinessClass>();
                DataSet DSAll = DBLayer.GetAllTargetandComplete();
                if (DSAll.Tables.Count > 2)
                {
                    foreach (DataRow DrTarget in DSAll.Tables[0].Rows)
                    {
                        //Target Vs Business Class
                        TargetsVsCompletes TempTargetsandCompletes = new TargetsVsCompletes();
                        int       AirlineId   = Convert.ToInt32(DrTarget[BusinessConstants.AIRLINEID].ToString());
                        int       Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                        string    AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();;
                        int       Completes   = 0;
                        DataRow[] DrCompletes = DSAll.Tables[1].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);

                        if (DrCompletes.Length > 0)
                        {
                            Completes = Convert.ToInt32(DrCompletes[0][BusinessConstants.COMPLETES].ToString());
                        }

                        TempTargetsandCompletes.AirlineId   = AirlineId;
                        TempTargetsandCompletes.AirlineName = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                        TempTargetsandCompletes.Target      = Convert.ToInt32(DrTarget[BusinessConstants.TARGET].ToString());
                        TempTargetsandCompletes.Completes   = Completes;

                        AllTargetsandCompletes.Add(TempTargetsandCompletes);

                        //Missing Targets Vs Missing Business Class
                        MissingTargetsVsBusinessClass TempMissingTargetsVsBusinessClass = new MissingTargetsVsBusinessClass();
                        int       BusinessCompletes   = 0;
                        DataRow[] DrBusinessCompletes = DSAll.Tables[2].Select(BusinessConstants.AIRLINEID + "=" + AirlineId);
                        if (DrBusinessCompletes.Length > 0)
                        {
                            BusinessCompletes = Convert.ToInt32(DrBusinessCompletes[0][BusinessConstants.BUSINESSCOMPLETES].ToString());
                        }

                        TempMissingTargetsVsBusinessClass.AirlineId        = AirlineId;
                        TempMissingTargetsVsBusinessClass.AirlineName      = DrTarget[BusinessConstants.AIRLINENAME].ToString();
                        TempMissingTargetsVsBusinessClass.MissingTarget    = Target - Completes;
                        TempMissingTargetsVsBusinessClass.MissingCompletes = (Target * 0.30) - Convert.ToDouble(BusinessCompletes);

                        AllMissingTargetsVsBusinessClass.Add(TempMissingTargetsVsBusinessClass);
                    }
                }
                WriteTargetVsCompletesChartsCacheFile("Admin", AllTargetsandCompletes);
                WriteMissingTargetsVsBusinessClassChartCacheFile("Admin", AllMissingTargetsVsBusinessClass);
            }
            catch (Exception Ex)
            {
                RetValue.ReturnCode    = 2;
                RetValue.ReturnMessage = "Cache file creation Failed - error in API ";
                SICTLogger.WriteException(CLASS_NAME, FUNCTION_NAME, Ex);
            }
            SICTLogger.WriteInfo(CLASS_NAME, FUNCTION_NAME, "End");
            return(RetValue);
        }