예제 #1
0
        public ActionResult Summary(int acid, int period, int year, int pdtype, int uid = 0, int tmid = 0)
        {
            LoginUserDetails objLoginUserDetails = null;
            UserInfoDTO      objUserInfoDTO      = null;

            ViewBag.showAddTransactionBtn = false;
            DateTime dtEndDate = DateTime.Now;

            Dictionary <string, object> dicPeriodStartEnd = null;

            try
            {
                objLoginUserDetails = (LoginUserDetails)Common.Common.GetSessionValue(ConstEnum.SessionValue.UserDetails);

                //set activity id for summary page as this page is access from both menu - insider and CO
                ViewBag.activity_id = acid;

                using (PeriodEndDisclosureSL objPeriodEndDisclosure = new PeriodEndDisclosureSL())
                {
                    dicPeriodStartEnd = objPeriodEndDisclosure.GetPeriodStarEndDate(objLoginUserDetails.CompanyDBConnectionString, year, period, pdtype);

                    DateTime dtStartDate = Convert.ToDateTime(dicPeriodStartEnd["start_date"]);
                    dtEndDate = Convert.ToDateTime(dicPeriodStartEnd["end_date"]);
                    String dtFormat = "dd MMM yyyy";
                    ViewBag.Period = dtStartDate.ToString(dtFormat) + " - " + dtEndDate.ToString(dtFormat);
                }

                //set input vaules for period end summary grid
                ViewBag.UserId              = (uid == 0) ? objLoginUserDetails.LoggedInUserID : uid;
                ViewBag.YearCode            = year;
                ViewBag.PeriodCode          = period;
                ViewBag.PeriodType          = pdtype;
                ViewBag.TransactionMasterId = (tmid == 0) ? "" : tmid.ToString();



                ViewBag.GridType = ConstEnum.GridType.PeriodEndDisclosurePeriodSummary;

                //if activity id is for CO then fetch employee insider details
                if (acid == ConstEnum.UserActions.CO_DISCLOSURE_DETAILS_PERIOD_END_DISCLOSURE)
                {
                    using (UserInfoSL objUserInfoSL = new UserInfoSL())
                    {
                        objUserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, uid);

                        ViewBag.EmployeeId  = objUserInfoDTO.EmployeeId;
                        ViewBag.InsiderName = (objUserInfoDTO.UserTypeCodeId == ConstEnum.Code.CorporateUserType) ? objUserInfoDTO.CompanyName : objUserInfoDTO.FirstName + " " + objUserInfoDTO.LastName;
                    }
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                dicPeriodStartEnd = null;
                //objLoginUserDetails = null;
                objUserInfoDTO = null;
            }

            int contDisStatusCount = 0;
            int PEDisStatusCount   = 0;
            int IsIDPending        = 0;

            using (TradingTransactionSL objTradingTransactionSL = new TradingTransactionSL())
            {
                acid = ConstEnum.UserActions.INSIDER_DISCLOSURE_DETAILS_PERIOD_END_DISCLOSURE;
                year = 0;
                List <ContinuousDisclosureStatusDTO> lstConDisclosureStatus = objTradingTransactionSL.Get_ContinuousDisclosureStatus(objLoginUserDetails.CompanyDBConnectionString, uid, dtEndDate);
                foreach (var contDisStatus in lstConDisclosureStatus)
                {
                    contDisStatusCount = contDisStatus.ContDisPendingStatus;
                }
                if (contDisStatusCount > 0)
                {
                    int ContDisCheck = contDisStatusCount;
                    return(RedirectToAction("PeriodStatus", "PeriodEndDisclosure", new { acid, year, uid, ContDisCheck }));
                }
                else
                {
                    List <ContinuousDisclosureStatusDTO> lstPEDisclosureStatus = objTradingTransactionSL.Get_PEDisclosureStatus(objLoginUserDetails.CompanyDBConnectionString, uid, dtEndDate);
                    foreach (var periodEndStatus in lstPEDisclosureStatus)
                    {
                        PEDisStatusCount = periodEndStatus.PEDisPendingStatus;
                        IsIDPending      = periodEndStatus.IsRelativeFound;
                    }
                    if (IsIDPending > 0)
                    {
                        return(RedirectToAction("PeriodStatus", "PeriodEndDisclosure", new { acid, year, uid, PEDisStatusCount, IsIDPending }));
                    }
                    else if (PEDisStatusCount > 0)
                    {
                        int PeriodEndDisCheck = PEDisStatusCount;
                        return(RedirectToAction("PeriodStatus", "PeriodEndDisclosure", new { acid, year, uid, PeriodEndDisCheck }));
                    }
                    else
                    {
                        TradingTransactionMasterDTO objTradingTransactionMasterDTO = null;
                        objTradingTransactionMasterDTO = new TradingTransactionMasterDTO();
                        objTradingTransactionMasterDTO = objTradingTransactionSL.GetTradingTransactionMasterDetails(objLoginUserDetails.CompanyDBConnectionString, tmid);
                        if (objTradingTransactionMasterDTO.TransactionStatusCodeId == 148002)
                        {
                            ViewBag.showAddTransactionBtn = true;
                        }

                        return(View("Summary"));
                    }
                }
            }
        }