public bool PerformFileUploadOperation(MSI_MediaTracker _mediaTracker, int MediaTypeId, IEnumerable<HttpPostedFileBase> FilesCollection)
        {
            Cascade.Data.Repositories.MSIMediaTrackerRepository repository = new MSIMediaTrackerRepository();
            string _allMediaDocuments = "";
            string _additionalIdentifier = Guid.NewGuid().ToString() + "_" + _mediaTracker.Account + "_" + MediaTypeId.ToString();
            //Get all fileNames together so store in the Database
            foreach (var file in FilesCollection)
            {
                if (file != null)
                {
                    if (_allMediaDocuments.Length > 0)
                    {
                        _allMediaDocuments = _allMediaDocuments + "|" + _additionalIdentifier + "_" + file.FileName;
                    }
                    else
                    {
                        _allMediaDocuments = _additionalIdentifier + "_" + file.FileName;
                    }
                }

            }
            //Now Upload and set the properties
            foreach (var file in FilesCollection)
            {
                if (file != null)
                {
                    if (file.ContentLength > 0)
                    {
                        //Upload the file
                        fileProcessor.SaveUploadedFileWithIdentifier(file, _additionalIdentifier);
                    }
                }

            }
            if (_allMediaDocuments != "")
            {
                //Perform Save Operation
                _mediaTracker.MediaTypeId = MediaTypeId;
                _mediaTracker.MediaDocuments = _allMediaDocuments;
                repository.Add(_mediaTracker);
            }
            //response
            return true;
        }
        public ActionResult UploadAllDocuments(IEnumerable<HttpPostedFileBase> AfdvtIssuerfiles, IEnumerable<HttpPostedFileBase> AfdvtSellerfiles,
            IEnumerable<HttpPostedFileBase> Applicationfiles, IEnumerable<HttpPostedFileBase> Contactfiles,
            IEnumerable<HttpPostedFileBase> Statementfiles, IEnumerable<HttpPostedFileBase> ChargeOffStmtfiles, IEnumerable<HttpPostedFileBase> RightOfCurefiles,
            IEnumerable<HttpPostedFileBase> BalanceLtrfiles, IEnumerable<HttpPostedFileBase> NoticeOfIntentfiles,
            IEnumerable<HttpPostedFileBase> CardHolderAgrmtfiles, IEnumerable<HttpPostedFileBase> TermAndCndfiles)
        {
            //Collect information from the hiddern fields
            string PIMSAcctNumber = Request.Form["hdnpimsAccountNumber"];
            string OrigAcctNumber = Request.Form["hdnoriginalAccountNumber"];
            string hdnstatementStDt = Request.Form["hdnstatementStDt"];
            string hdnstatementEndDt = Request.Form["hdnstatementEndDt"];
            string hdnRedirectAction = Request.Form["hdnRedirectAction"];
            //Get the Object
            MSI_MediaTracker _mediaTracker = new MSI_MediaTracker();
            //Get the necessary Information
            _mediaTracker.Account = PIMSAcctNumber;
            _mediaTracker.OriginalAccount = OrigAcctNumber;
            _mediaTracker.CreatedDate = DateTime.Now;
            _mediaTracker.CreatedBy = UserId.ToString();
            _mediaTracker.IsActive = true;
            //For Files
            #region [[ Affedavit(Issuer) ]]
            if (AfdvtIssuerfiles != null)
            {
                if (AfdvtIssuerfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 1, AfdvtIssuerfiles);
                }
            }
            #endregion

            #region [[ Affedavit(Seller) ]]
            if (AfdvtSellerfiles != null)
            {
                if (AfdvtSellerfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 2, AfdvtSellerfiles);
                }
            }
            #endregion

            #region [[ Application ]]
            if (Applicationfiles != null)
            {
                if (Applicationfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 3, Applicationfiles);
                }
            }
            #endregion

            #region [[ Contact ]]
            if (Contactfiles != null)
            {
                if (Contactfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 4, Contactfiles);
                }
            }
            #endregion

            #region [[ Charge of Statement ]]
            if (ChargeOffStmtfiles != null)
            {
                if (ChargeOffStmtfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 6, ChargeOffStmtfiles);
                }
            }
            #endregion

            #region [[ Right of Cure ]]
            if (RightOfCurefiles != null)
            {
                if (RightOfCurefiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 7, RightOfCurefiles);
                }
            }
            #endregion

            #region [[ Balance Letter ]]
            if (BalanceLtrfiles != null)
            {
                if (BalanceLtrfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 8, BalanceLtrfiles);
                }
            }
            #endregion

            #region [[ Notice of Intent ]]
            if (NoticeOfIntentfiles != null)
            {
                if (NoticeOfIntentfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 9, NoticeOfIntentfiles);
                }
            }
            #endregion

            #region [[ Card Holder Agreement ]]
            if (CardHolderAgrmtfiles != null)
            {
                if (CardHolderAgrmtfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 10, CardHolderAgrmtfiles);
                }
            }
            #endregion

            #region [[ Terms and Conditions ]]
            if (TermAndCndfiles != null)
            {
                if (TermAndCndfiles.Count() >= 1)
                {
                    PerformFileUploadOperation(_mediaTracker, 11, TermAndCndfiles);
                }
            }
            #endregion

            //IMPORTANT: Do it at the end so TypeConstraints are added for only Statement type media
            #region [[ Statement ]]
            if (Statementfiles != null)
            {
                if (Statementfiles.Count() >= 1)
                {
                    if (hdnstatementStDt != "" && hdnstatementEndDt != "")
                    {
                        _mediaTracker.TypeConstraints = hdnstatementStDt + ":" + hdnstatementEndDt;
                    }
                    PerformFileUploadOperation(_mediaTracker, 5, Statementfiles);
                }
            }
            #endregion

            CascadeBusiness.MediaRequest business = new CascadeBusiness.MediaRequest();
            business.PerfomPreFulfillmentProcess(PIMSAcctNumber, UserId);
            //Exit
            if (string.IsNullOrEmpty(hdnRedirectAction))
                return RedirectToAction("Index", "Home");
            else
                return RedirectToAction(hdnRedirectAction, "Media");
        }
        public IEnumerable<MSI_MediaTracker> GetExistingUploadMediaDetails(string accountNumber)
        {
            DBFactory db;
            SqlDataReader rdr;
            List<MSI_MediaTracker> data = null;
            try
            {
                db = new DBFactory();
                rdr = db.ExecuteReader("MSI_spGetMediaTrackerByAccountNumber", new SqlParameter("@account", accountNumber));
                data = new List<MSI_MediaTracker>();
                MSI_MediaTracker record;
                while (rdr.Read())
                {
                    record = new MSI_MediaTracker();
                    record.Id = Convert.ToInt32(rdr["Id"].ToString());
                    record.Account = rdr["Account"].ToString();
                    record.OriginalAccount = rdr["OriginalAccount"].ToString();
                    record.MediaTypeId = Convert.ToInt32(rdr["MediaTypeId"].ToString());
                    record.MediaDocuments = rdr["MediaDocuments"].ToString();
                    record.TypeConstraints = rdr["TypeConstraints"].ToString();

                    data.Add(record);
                }
                //Close the datareader
                rdr.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Exception in DataQueries.GetExistingUploadMediaDetails:" + ex.Message);
            }
            return data.AsEnumerable<MSI_MediaTracker>();
        }