Exemple #1
0
    public XmlDocument CreateBuyerRole(string GUID, string requestXML)
    {
        string       methodName  = "CreateBuyerRole";
        XmlWriter    xmlWriter   = null;
        StringWriter strWriter   = null;
        XmlDocument  xmlResponse = new XmlDocument();
        XmlDocument  xmlInput    = null;
        string       errMsg      = "";

        try
        {
            Startup();
            m_connectorInc.Init_ResponseXML(methodName, ref strWriter, ref xmlWriter);
            if (!m_authInc.Is_Valid_GUID(GUID))
            {
                m_logger.WriteError(m_phraseLib.Detokenize("term.guidnotvalid", GUID, m_common.Get_AppInfo().AppName));
                m_connectorInc.Generate_Status_XML(ref xmlWriter, methodName, CMS.CMSException.StatusCodes.INVALID_GUID, m_phraseLib.Detokenize("term.guidnotvalid", GUID, m_common.Get_AppInfo().AppName), false);
            }
            else if (!m_connectorInc.ConvertStringToXML(requestXML, ref xmlInput))
            {
                m_logger.WriteError(m_phraseLib.Detokenize("term.invalidparameterxmldocument", "requestXML"));
                m_connectorInc.Generate_Status_XML(ref xmlWriter, methodName, CMS.CMSException.StatusCodes.INVALID_XML_DOCUMENT, m_phraseLib.Detokenize("term.invalidparameterxmldocument", "requestXML"), false);
            }
            else if (!m_connectorInc.IsValidXmlDocument("BuyerRoleData.xsd", xmlInput, out errMsg))
            {
                m_logger.WriteError(m_phraseLib.Detokenize("term.invalidxmlconformxsd", "requestXML", "BuyerRoleData.xsd: " + errMsg));
                m_connectorInc.Generate_Status_XML(ref xmlWriter, methodName, CMS.CMSException.StatusCodes.INVALID_XML_DOCUMENT, m_phraseLib.Detokenize("term.invalidxmlconformxsd", "requestXML", "BuyerRoleData.xsd: " + errMsg), false);
            }
            else
            {
                var buyerRole = ParseBuyerRoleDetails(xmlInput);
                var response  = m_buyerRole.CreateBuyerRole(buyerRole);
                CMS.CMSException.StatusCodes statusCode = CMS.CMSException.StatusCodes.GENERAL_ERROR;
                if (response.ResultType.CompareTo(AMSResultType.Success) == 0)
                {
                    statusCode = CMS.CMSException.StatusCodes.SUCCESS;
                    xmlWriter.WriteStartElement("Buyer");
                    xmlWriter.WriteElementString("ID", Convert.ToString(response.Result));
                    xmlWriter.WriteEndElement();
                    m_connectorInc.Generate_Status_XML(ref xmlWriter, methodName, statusCode, response.MessageString, true);
                }
                else
                {
                    m_logger.WriteError(response.MessageString);
                    m_connectorInc.Generate_Status_XML(ref xmlWriter, methodName, statusCode, response.MessageString, false);
                }
            }
        }
        catch (Exception ex)
        {
            m_logger.WriteError("Failed to create Buyer roler- please see the error log!");
            m_errHandler.ProcessError(ex);
            ProcessException(ex, methodName, ref xmlWriter, ref strWriter);
        }

        CloseResponseXml(ref xmlWriter, ref strWriter, ref xmlResponse);
        Shutdown();

        return(xmlResponse);
    }
    protected void btnSave_Click(Object sender, EventArgs e)
    {
        string logMsg = String.Empty;

        try
        {
            if (CurrentUser.UserPermissions.EditBuyerRoles == false)
            {
                DisplayMessage("User does not have Edit Permission");
            }
            else
            {
                int id = 0;

                Buyer newbuyer = new Buyer();
                newbuyer.AdminUser = IncludeAdminUser;
                BuyerDepts buyerdepts = new BuyerDepts();
                buyerdepts.Departments = IncludedDepartments;
                newbuyer.Department    = buyerdepts;
                newbuyer.ExternalID    = txtName.Text;

                if (buyer != null)
                {
                    AMSResult <bool> result = m_buyerRoleService.UpdateBuyerRoleByInternalId(buyer.ID, newbuyer, LanguageID);
                    updateFolder(buyer.ID);
                    if (result.ResultType == AMSResultType.Success)
                    {
                        DisplayMessage(result.MessageString, true);
                        if (newbuyer.ExternalID != buyer.ExternalID)
                        {
                            htitle.InnerText = buyer == null?PhraseLib.Lookup("term.new", LanguageID) + " " + PhraseLib.Lookup("term.buyer", LanguageID) : PhraseLib.Lookup("term.buyers", LanguageID) + " #" + buyer.ID + ":" + " " + newbuyer.ExternalID;
                        }
                        Response.Redirect("buyer-edit.aspx?externalbuyerid=" + Server.UrlEncode(newbuyer.ExternalID) + "&id=" + buyer.ID);
                    }
                    else
                    {
                        DisplayMessage(result.MessageString);
                    }
                }
                else
                {
                    AMSResult <int> result = m_buyerRoleService.CreateBuyerRole(newbuyer, LanguageID);
                    if (result.ResultType == AMSResultType.Success)
                    {
                        AMSResult <Buyer> buyercreated = m_buyerRoleService.LookupBuyerRoleByInternalId(result.Result);
                        DisplayMessage(result.MessageString, true);
                        if (templist.Value != "")
                        {
                            id = result.Result;
                            int folderid = Convert.ToInt32(templist.Value);
                            m_buyerRoleService.updateFolder(id, folderid);
                            TempFolder.Value = folderName.Result;
                            ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "myfun1", "UpdateFolderName()", true);
                        }
                        Response.Redirect("buyer-edit.aspx?externalbuyerid=" + Server.UrlEncode(buyercreated.Result.ExternalID) + "&id=" + buyercreated.Result.ID);
                    }
                    else
                    {
                        DisplayMessage(result.MessageString);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            //infobar.InnerText = ErrorHandler.ProcessError(ex);
            //infobar.Visible = true;
            DisplayMessage(ex.Message);
        }
    }