Exemplo n.º 1
0
        public void Invoke(object Sender, object Element)
        {
            object objectid        = CHelper.GetFromContext("ObjectId");
            object classNameObject = CHelper.GetFromContext("ClassName");

            if (objectid != null && classNameObject != null)
            {
                PrimaryKeyId key       = (PrimaryKeyId)objectid;
                string       className = (string)classNameObject;

                int errorCount = 0;
                try
                {
                    BusinessManager.Delete(className, key);
                }
                catch (Exception ex)
                {
                    CHelper.GenerateErrorReport(ex);
                    errorCount++;
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:ActionWasNotProcessed}");
                }
                else
                {
                    ((Control)Sender).Page.Response.Redirect(CHelper.GetLinkEntityList(className));
                }
            }
        }
Exemplo n.º 2
0
        public void Invoke(object Sender, object Element)
        {
            string objectid = ((Control)Sender).Page.Request["ObjectId"];

            if (!String.IsNullOrEmpty(objectid))
            {
                PrimaryKeyId key = PrimaryKeyId.Parse(objectid);
                key = ((VirtualEventId)key).RealEventId;

                int errorCount = 0;
                try
                {
                    BusinessManager.Delete(CalendarEventEntity.ClassName, key);
                }
                catch (Exception ex)
                {
                    CHelper.GenerateErrorReport(ex);
                    errorCount++;
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:ActionWasNotProcessed}");
                }
                else
                {
                    ((Control)Sender).Page.Response.Redirect("~/Apps/Calendar/Pages/Calendar.aspx", true);
                }
            }
        }
Exemplo n.º 3
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp         = (CommandParameters)Element;
                PrimaryKeyId      key        = PrimaryKeyId.Parse(cp.CommandArguments["ObjectId"]);
                string            deleteType = cp.CommandArguments["DeleteType"];       // 0: org only; 1: org & contacts

                int           errorCount = 0;
                string        className  = OrganizationEntity.GetAssignedMetaClassName();
                DeleteRequest request    = new DeleteRequest(className, key);
                request.Parameters.Add(OrganizationRequestParameters.Delete_RelatedContactAction, (deleteType == "0") ? RelatedContactAction.Detach : RelatedContactAction.Delete);

                try
                {
                    BusinessManager.Execute(request);
                }
                catch (Exception ex)
                {
                    CHelper.GenerateErrorReport(ex);
                    errorCount++;
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:ActionWasNotProcessed}");
                }
                else
                {
                    ((Control)Sender).Page.Response.Redirect(CHelper.GetLinkEntityList(className));
                }
            }
        }
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                string[]          selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

                if (selectedElements != null && selectedElements.Length > 0)
                {
                    int          errorCount      = 0;
                    string       bridgeClassName = CHelper.GetFromContext("ReferenceNN_BridgeClassName").ToString();
                    string       field1Name      = CHelper.GetFromContext("ReferenceNN_Field1Name").ToString();
                    string       field2Name      = CHelper.GetFromContext("ReferenceNN_Field2Name").ToString();
                    PrimaryKeyId field1Value     = PrimaryKeyId.Parse(CHelper.GetFromContext("ReferenceNN_Field1Value").ToString());
                    using (TransactionScope tran = DataContext.Current.BeginTransaction())
                    {
                        foreach (string elem in selectedElements)
                        {
                            string[]     parts     = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                            string       id        = parts[0];
                            PrimaryKeyId key       = PrimaryKeyId.Parse(id);
                            string       className = parts[1];

                            FilterElementCollection fec = new FilterElementCollection();
                            fec.Add(FilterElement.EqualElement(field1Name, field1Value));
                            fec.Add(FilterElement.EqualElement(field2Name, key));
                            EntityObject[] list = BusinessManager.List(bridgeClassName, fec.ToArray());
                            if (list.Length > 0)
                            {
                                foreach (EntityObject eo in list)
                                {
                                    try
                                    {
                                        BusinessManager.Delete(bridgeClassName, eo.PrimaryKeyId.Value);
                                    }
                                    catch (Exception ex)
                                    {
                                        CHelper.GenerateErrorReport(ex);
                                        errorCount++;
                                    }
                                }
                            }
                        }

                        tran.Commit();
                    }

                    if (errorCount > 0)
                    {
                        ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                    }
                }
            }
            CHelper.RequireDataBind();
        }
Exemplo n.º 5
0
 private void InitializeDatabaseAsynchronous()
 {
     try
     {
         string applicationPhysicalPath    = HostingEnvironment.ApplicationPhysicalPath;
         DatabaseConfigurator configurator = new DatabaseConfigurator(applicationPhysicalPath);
         configurator.InitializeDatabase();
     }
     catch (Exception ex)
     {
         CHelper.GenerateErrorReport(ex);
     }
 }
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                string[]          selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

                if (selectedElements != null && selectedElements.Length > 0)
                {
                    int errorCount = 0;
                    using (TransactionScope tran = DataContext.Current.BeginTransaction())
                    {
                        foreach (string elem in selectedElements)
                        {
                            string[]     parts     = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                            string       id        = parts[0];
                            PrimaryKeyId key       = PrimaryKeyId.Parse(id);
                            string       className = parts[1];

                            if ((int)key == -1)                                 // we mustn't delete default profile
                            {
                                errorCount++;
                                continue;
                            }

                            try
                            {
                                BusinessManager.Delete(className, key);
                            }
                            catch (Exception ex)
                            {
                                CHelper.GenerateErrorReport(ex);
                                errorCount++;
                            }
                        }

                        tran.Commit();
                    }

                    if (errorCount > 0)
                    {
                        ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                    }
                }
            }
            CHelper.RequireDataBind();
        }
Exemplo n.º 7
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                string[]          selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

                if (selectedElements != null)
                {
                    string className  = ContactEntity.GetAssignedMetaClassName();
                    int    errorCount = 0;

                    foreach (string elem in selectedElements)
                    {
                        string       id  = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[0];
                        PrimaryKeyId key = PrimaryKeyId.Parse(id);

                        using (TransactionScope tran = DataContext.Current.BeginTransaction())
                        {
                            bool wasError = false;
                            try
                            {
                                BusinessManager.Delete(className, key);
                            }
                            catch (Exception ex)
                            {
                                wasError = true;
                                CHelper.GenerateErrorReport(ex);
                                errorCount++;
                            }

                            if (!wasError)
                            {
                                tran.Commit();
                            }
                        }
                    }

                    if (errorCount > 0)
                    {
                        ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                    }

                    CHelper.RequireBindGrid();
                }
            }
        }
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                string[]          selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

                if (selectedElements != null && selectedElements.Length > 0)
                {
                    int errorCount = 0;
                    using (TransactionScope tran = DataContext.Current.BeginTransaction())
                    {
                        foreach (string elem in selectedElements)
                        {
                            string[]     parts     = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                            string       id        = parts[0];
                            PrimaryKeyId key       = PrimaryKeyId.Parse(id);
                            string       className = parts[1];

                            try
                            {
                                EntityObject obj = BusinessManager.Load(className, key);

                                string fieldName = (string)CHelper.GetFromContext(_httpContextFilterFieldNameKey);
                                obj.Properties[fieldName].Value = null;
                                BusinessManager.Update(obj);
                            }
                            catch (Exception ex)
                            {
                                CHelper.GenerateErrorReport(ex);
                                errorCount++;
                            }
                        }

                        tran.Commit();
                    }

                    if (errorCount > 0)
                    {
                        ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                    }
                }
            }
            CHelper.RequireDataBind();
        }
Exemplo n.º 9
0
        public void Invoke(object Sender, object Element)
        {
            CommandParameters cp = (CommandParameters)Element;

            string[] selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

            if (selectedElements != null && selectedElements.Length > 0)
            {
                int errorCount = 0;
                using (TransactionScope tran = DataContext.Current.BeginTransaction())
                {
                    foreach (string elem in selectedElements)
                    {
                        string[]     parts = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                        string       id    = parts[0];
                        PrimaryKeyId key   = PrimaryKeyId.Parse(id);

                        try
                        {
                            DocumentContentVersionEntity dcve = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), key);
                            dcve.State = (int)DocumentContentVersionState.Draft;
                            UpdateStateRequest usr = new UpdateStateRequest(dcve);
                            BusinessManager.Execute(usr);
                        }
                        catch (Exception ex)
                        {
                            CHelper.GenerateErrorReport(ex);
                            errorCount++;
                        }
                    }

                    tran.Commit();
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                }

                CHelper.RequireBindGrid();
            }
        }
Exemplo n.º 10
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                string[]          selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);
                string            deleteType       = cp.CommandArguments["DeleteType"]; // 0: org only; 1: org & contacts

                if (selectedElements != null)
                {
                    string className  = OrganizationEntity.GetAssignedMetaClassName();
                    int    errorCount = 0;

                    foreach (string elem in selectedElements)
                    {
                        string       id  = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[0];
                        PrimaryKeyId key = PrimaryKeyId.Parse(id);

                        try
                        {
                            DeleteRequest request = new DeleteRequest(className, key);
                            request.Parameters.Add(OrganizationRequestParameters.Delete_RelatedContactAction, (deleteType == "0") ? RelatedContactAction.Detach : RelatedContactAction.Delete);
                            BusinessManager.Execute(request);
                        }
                        catch (Exception ex)
                        {
                            CHelper.GenerateErrorReport(ex);
                            errorCount++;
                        }
                    }


                    if (errorCount > 0)
                    {
                        ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                    }
                }
            }
        }
Exemplo n.º 11
0
        void EIWizard_NextButtonClick(object sender, WizardNavigationEventArgs e)
        {
            if (EIWizard.ActiveStep.ID == "step1")
            {
                bool t = false;
                switch (rblFirstStep.SelectedValue)
                {
                case "UpdateInIBN":
                    divStep3Synchronization.Visible = true;
                    divStep3Import.Visible          = false;
                    divExportSuccess.Visible        = false;
                    break;

                case "Import":
                    divStep2Import.Visible          = true;
                    divStep3Synchronization.Visible = false;
                    divStep3Import.Visible          = true;
                    divExportSuccess.Visible        = false;
                    break;

                case "Export":
                case "UpdateInMS":
                    divStep2Import.Visible = false;
                    t = true;
                    divStep3Synchronization.Visible = false;
                    divStep3Import.Visible          = false;
                    divExportSuccess.Visible        = true;
                    divImportSuccess.Visible        = false;
                    break;
                }
                if (t)
                {
                    EIWizard.MoveTo(this.step4);
                }
            }
            if (EIWizard.ActiveStep.ID == "step2")
            {
                if (divStep2Import.Visible)                //upload xml from MS Project
                {
                    Page.Validate();
                    if (!Page.IsValid)
                    {
                        EIWizard.MoveTo(this.step4);
                        return;
                    }
                    ViewState["ImportError"] = null;
                    XmlId = -1;
                    try
                    {
                        if (mcImportFile.PostedFile != null && mcImportFile.PostedFile.ContentLength > 0)
                        {
                            XmlTextReader xmlreader = new XmlTextReader(mcImportFile.PostedFile.InputStream);
                            bool          valid     = CommonHelper.ValidateXMLWithMsProjectSchema(xmlreader);
                            if (valid)
                            {
                                mcImportFile.PostedFile.InputStream.Position = 0;
                                XmlId = Project.UploadImportXML(ProjectId, mcImportFile.PostedFile.FileName, mcImportFile.PostedFile.InputStream);
                            }
                            else
                            {
                                cvFileError.IsValid = false;
                            }
                        }
                        else
                        {
                            cvFileError.IsValid = false;
                        }
                    }
                    catch (Exception ex)
                    {
                        CHelper.GenerateErrorReport(ex);
                        cvFileError.IsValid = false;
                    }
                    divStep3Export.Visible = false;
                }
                else                //load xml from ibn
                {
                    divStep3Synchronization.Visible = false;
                    divStep3Import.Visible          = false;
                    divStep3Export.Visible          = true;
                }
                //find button
                Control startPoint = EIWizard.Controls[0].Controls[EIWizard.Controls[0].Controls.Count - 1];
                if (startPoint != null)
                {
                    startPoint = GetControlFromColl(startPoint.Controls);
                }
                if (startPoint != null)
                {
                    Button btn = (Button)startPoint;
                    btn.Attributes.Add("onclick", "MakeHide();");
                }
            }
        }
Exemplo n.º 12
0
        protected void lbSend_Click(object sender, System.EventArgs e)
        {
            string sTo = txtTo.Text.Trim();

            // all recipients string
            string allRecipients = String.Empty;

            if (sTo != String.Empty)
            {
                allRecipients = sTo;
            }
            if (allRecipients != String.Empty)
            {
                allRecipients += "; ";
            }
            allRecipients += lblCC.Text;
            CommonHelper.AddToContext(ForumThreadNodeSetting.AllRecipients, allRecipients);

            string regex = "([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\\w]*[0-9a-zA-Z])*\\.)+[a-zA-Z]" +
                           "{2,9})";
            List <string> dic = new List <string>();

            System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline)
                                                                   | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);


            foreach (Match item in reg.Matches(sTo))
            {
                if (!dic.Contains(item.Value))
                {
                    dic.Add(item.Value);
                }
            }
            string[] masTo = dic.ToArray();

            if (masTo.Length == 0 && lblCC.Text == String.Empty)
            {
                lblException.Text  = LocRM.GetString("NoRecipients");
                divMessage.Visible = true;
                Page.ClientScript.RegisterStartupScript(this.GetType(), "_getFiles",
                                                        "window.setTimeout('updateAttachments()', 500);", true);
                return;
            }


            string _containerName = "FileLibrary";
            string _containerKey  = "EMailAttach";

            CS.BaseIbnContainer bic = CS.BaseIbnContainer.Create(_containerName, _containerKey);
            CS.FileStorage      fs  = (CS.FileStorage)bic.LoadControl("FileStorage");
            CS.DirectoryInfo    di  = fs.GetDirectory(fs.Root.Id, _guid, true);

            try
            {
                if (IncidentId > 0)
                {
                    NameValueCollection _params = new NameValueCollection();
                    _params["IssueId"] = IncidentId.ToString();
                    EMailClient.SendMessage(masTo, txtSubject.Text, fckEditor.Text, di, EMailClient.IssueMode, _params);
                    string sUrl = "../Incidents/IncidentView.aspx?IncidentId=" + IncidentId;
                    if (Request["back"] != null)
                    {
                        sUrl = HttpUtility.UrlDecode(Request["back"]);
                    }
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "_close", "try{window.opener.location.href='" + sUrl + "';}catch(ex){}window.close();", true);
                }
                else
                {
                    EMailClient.SendMessage(masTo, txtSubject.Text, fckEditor.Text, di);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "_close", "window.close();", true);
                }
            }
            catch (Exception ex)
            {
                string sException = "";
                switch (ex.GetType().ToString())
                {
                case "System.Net.Sockets.SocketException":
                    sException = ex.Message;
                    break;

                case "Mediachase.IBN.Business.EMail.SmtpClientException":
                    sException = LocRM2.GetString("tServerSMTPError") + ":&nbsp;<span style='color:#444;font-style:italic;'>" + ex.Message + "</span>";
                    break;

                default:
                    // TODO: Save Exception to IBN Log And Show Friendly Link to Log
                    sException = ex.Message;
                    CHelper.GenerateErrorReport(ex);
                    break;
                }
                lblException.Text = LocRM2.GetString("SMTPSettingsIncorrect") + "&nbsp;" +
                                    LocRM2.GetString("tWereErrorsSMTP") + "<br/>" + sException;
                if (Security.IsUserInGroup(InternalSecureGroups.Administrator))
                {
                    lblSMTP.Text = "<a href='javascript:ToSMTPSettings();'><font style='color:Red;'><b><u>" + LocRM2.GetString("tSetupSMTPServer") + "</u></b></font></a>";
                }
                else
                {
                    lblSMTP.Text = LocRM2.GetString("tContactSMTPError");
                }
                divMessage.Visible = true;
                Page.ClientScript.RegisterStartupScript(this.GetType(), "_getFiles",
                                                        "window.setTimeout('updateAttachments()', 500);", true);
            }
        }
Exemplo n.º 13
0
        protected void Application_Error(Object sender, EventArgs e)
        {
            Exception ex = Server.GetLastError().GetBaseException();

            if (ex == null)
            {
                ex = Server.GetLastError();
            }

            if (ex.Message.IndexOf("unable to load viewstate file:", StringComparison.OrdinalIgnoreCase) >= 0)
            {
                Server.ClearError();
                Response.Redirect(Request.RawUrl);
            }

            // 2007-10-19 Oleg Zhuk: Ignore WebDav Folder Error
            #region More Info MC_SUPPORT-002453-17558

            /*
             *      Какой-то MS Word пытается прочитать настройки папки, чтобы потом запросить её содержимое.
             * 2007-10-18 07:03:02 W3SVC1914035998 217.107.47.23 OPTIONS /portals/project_dialog-it_ru/webdav/NzMyOTY2LzI1LzMzNy81MDczNA== - 80 - 84.237.124.10
             *
             *      Мы это не поддерживаем, поэтому настроили ASP.NET так чтобы для папки он выкидывал ошибку и
             * MS Word больше не пытался работать с папкой.
             *      У нас встроен наш перехватчки необработанных исключений, который перехватывает исключение и
             * пишет эту "ошибку" в лог.
             *
             *      Поэтому, то что мы в MS Word возвращаем ошибку это правильно, скорее всего в перехватчике
             * исключений надо будет сделать игнорирование подобных ошибок, чтобы они не путались под ногами.
             */
            #endregion
            if (Request.HttpMethod == "OPTIONS")
            {
                return;
            }

            string redirectLink = null;
            switch (ex.GetType().ToString())
            {
            case "Mediachase.Ibn.LicenseExpiredException":
                redirectLink = "~/Public/LicenseExpired.aspx";
                break;

            case "Mediachase.Ibn.AccessDeniedException":
            case "Mediachase.Ibn.Core.AccessDeniedException":
                // TODO: Save exception to log.
                redirectLink = "~/Common/notexistingId.aspx?AD=1";
                break;

            case "System.Net.Sockets.SocketException":
                redirectLink = "~/Common/notexistingId.aspx?SMTP=Socket";
                break;

            case "Mediachase.IBN.Business.EMail.SmtpClientException":
                CHelper.GenerateErrorReport(ex);
                redirectLink = String.Format(CultureInfo.InvariantCulture
                                             , "~/Common/notexistingId.aspx?SMTP=Client&mess={0}"
                                             , HttpUtility.UrlEncode(ex.Message));
                break;

            case "System.NullReferenceException":
            default:
                if (ex is HttpException && ((HttpException)ex).ErrorCode == 403)                         // Forbidden
                {
                    redirectLink = "~/Common/notexistingId.aspx?AD=1";
                }

                break;
            }

            if (!string.IsNullOrEmpty(redirectLink))
            {
                Server.ClearError();
                Response.Redirect(redirectLink, true);
                return;
            }

            string errorid = CHelper.GenerateErrorReport(ex);

#if (!DEBUG)
            Server.ClearError();
            HttpContext.Current.Response.Redirect("~/Public/Error.aspx?ErrorId=" + errorid);
#endif
        }
Exemplo n.º 14
0
        /// <summary>
        /// Handles the ActiveStepChanged event of the ucWizard control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        void ucWizard_ActiveStepChanged(object sender, EventArgs e)
        {
            //step1
            if (ucWizard.ActiveStep.ID == "step1")
            {
                ViewState["_ir"] = null;
            }

            //step2
            if (ucWizard.ActiveStep.ID == "step3")
            {
                #region upload file
                if (fSourceFile.PostedFile != null && fSourceFile.PostedFile.ContentLength > 0)
                {
                    ProcessFileCache(Server.MapPath(Mediachase.UI.Web.Util.CommonHelper.ChartPath));
                    String dir     = Mediachase.UI.Web.Util.CommonHelper.ChartPath;
                    string wwwpath = dir + Guid.NewGuid().ToString("N");
                    wwwpath += Path.GetExtension(fSourceFile.PostedFile.FileName);

                    hdnFilePath.Value = wwwpath;
                    using (Stream sw = File.Create(Server.MapPath(wwwpath)))
                    {
                        fSourceFile.PostedFile.InputStream.Seek(0, SeekOrigin.Begin);
                        System.IO.BinaryReader br = new System.IO.BinaryReader(fSourceFile.PostedFile.InputStream);
                        int    iBufferSize        = 655360;               // 640 KB
                        byte[] outbyte            = br.ReadBytes(iBufferSize);

                        while (outbyte.Length > 0)
                        {
                            sw.Write(outbyte, 0, outbyte.Length);
                            outbyte = br.ReadBytes(iBufferSize);
                        }
                        br.Close();
                    }
                }
                #endregion

                divCSV.Visible = (rbSourceType.SelectedIndex == 2);

                #region file parsing
                IIncomingDataParser parser  = null;
                DataSet             rawData = null;
                try
                {
                    switch (rbSourceType.SelectedIndex)
                    {
                    case 0:
                        IMCOleDBHelper helper = (IMCOleDBHelper)Activator.GetObject(typeof(IMCOleDBHelper), ConfigurationManager.AppSettings["McOleDbServiceString"]);
                        rawData = helper.ConvertExcelToDataSet(Server.MapPath(hdnFilePath.Value));
                        break;

                    case 1:
                        parser  = new XmlIncomingDataParser();
                        rawData = parser.Parse(Server.MapPath(hdnFilePath.Value), null);
                        break;

                    case 2:
                        rawData = GetRawDataForCSV();
                        break;

                    case 3:
                        rawData = VCardUtil.ConvertFile(Server.MapPath(hdnFilePath.Value));
                        break;
                    }
                }
                catch (Exception ex)
                {
                    CHelper.GenerateErrorReport(ex);
                    ViewState["ServiceError"]  = true;
                    ViewState["ErrorFileName"] = Server.MapPath(hdnFilePath.Value);
                    ucWizard.MoveTo(this.step4);
                    return;
                }
                #endregion

                if (ViewState["_ir"] == null)
                {
                    InitializeMappingDocumentRequest  imdr = new InitializeMappingDocumentRequest(_className, rawData, 0);
                    InitializeMappingDocumentResponse resp = (InitializeMappingDocumentResponse)BusinessManager.Execute(imdr);
                    MappingDocument md = resp.MappingDocument;
                    _ir = new ImportRequest(_className, rawData, md);
                    ViewState["_ir"] = _ir;
                }
                BindDG();
            }

            if (ucWizard.ActiveStep.ID == "step4")
            {
                if (ViewState["ServiceError"] != null && (bool)ViewState["ServiceError"])
                {
                    string fileName = ViewState["ErrorFileName"].ToString();
                    if (fileName.EndsWith("xlsx") && !Is2007OfficeSystemDriverInstalled(fileName))
                    {
                        lblResult.Text = GetGlobalResourceObject("IbnFramework.Common", "McOleDbServiceWarningXlsx").ToString();
                    }
                    else
                    {
                        lblResult.Text = GetGlobalResourceObject("IbnFramework.Common", "McOleDbServiceWarning").ToString();
                    }
                }
                foreach (Control c in ucWizard.ActiveStep.Controls)
                {
                    if (c is Button)
                    {
                        Button btn   = (Button)c;
                        string param = String.Empty;
                        if (!String.IsNullOrEmpty(_commandName))
                        {
                            param = (new CommandParameters(_commandName)).ToString();
                        }
                        string script = Mediachase.Ibn.Web.UI.WebControls.CommandHandler.GetCloseOpenedFrameScript(this.Page, param);
                        script           += " return false;";
                        btn.OnClientClick = script;
                    }
                }
            }
        }