/// <summary> /// Updates the contact. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="xml">The XML.</param> /// <returns></returns> public string UpdateContact(Guid siteId, string username, string password, string xml) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Write) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } XDocument inputXml; try { inputXml = XDocument.Parse(xml); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateContact error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InvalidParameters, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { Contacts.UpdateContact(siteId, user.ID, inputXml.Document); _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateContact error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// Checks the name. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="fullName">The full name.</param> /// <returns></returns> public string CheckName(Guid siteId, string username, string password, string fullName) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Read) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { var nc = new NameChecker(ConfigurationManager.AppSettings["ADONETConnectionString"]); nc.CheckName(fullName, NameCheckerFormat.IOF, Correction.Correct); _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); _result.Document.Element("LeadForceResponse").Add(new XElement("Result", new XElement("CheckName", new XElement("Surname", nc.Surname), new XElement("Name", nc.Name), new XElement("Patronymic", nc.Patronymic), new XElement("IsNameCorrect", nc.IsNameCorrect.ToString()), new XElement("Gender", nc.Gender != null ? EnumHelper.GetEnumDescription(nc.Gender) : string.Empty, new XAttribute("system", nc.Gender != null ? ((int)nc.Gender).ToString() : string.Empty))))); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.CheckName error, SiteId: {0}, UserName: {1}, FullName: {2}", siteId, username, fullName), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// Gets the actions. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="xml">The XML.</param> /// <returns></returns> public string GetActions(Guid siteId, string username, string password, string xml) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Read) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } XDocument inputXml; try { inputXml = XDocument.Parse(xml); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.GetActions error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InvalidParameters, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { var actions = Actions.GetActions(siteId, inputXml); _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); _result.Document.Element("LeadForceResponse").Add(new XElement("Result", actions.Document.FirstNode)); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.GetActions error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// Updates the invoice. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="xml">The XML.</param> /// <returns></returns> public string UpdateInvoice(Guid siteId, string username, string password, string xml) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Write) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } XDocument inputXml; try { inputXml = XDocument.Parse(xml); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateInvoice error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InvalidParameters, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { var result = Invoices.UpdateInvoice(siteId, user.ContactID, inputXml.Document); if (result.IsNew) { var dataManager = new DataManager(); var invoice = dataManager.Invoice.SelectById(siteId, result.InvoiceId); var invoiceType = dataManager.InvoiceType.SelectById(siteId, invoice.InvoiceTypeID); var documentNumerator = DocumentNumerator.GetNumber((Guid)invoiceType.NumeratorID, invoice.CreatedAt, invoiceType.tbl_Numerator.Mask, "tbl_Invoice"); invoice.Number = documentNumerator.Number; invoice.SerialNumber = documentNumerator.SerialNumber; dataManager.Invoice.Update(invoice); } if (result.IsPendingPayment && !result.IsNew) { InvoiceNotificationService.PendingPayment(result.InvoiceId); } _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateInvoice error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// Updates the requirement. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="xml">The XML.</param> /// <returns></returns> public string UpdateRequirement(Guid siteId, string username, string password, string xml) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Write) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } XDocument inputXml; try { inputXml = XDocument.Parse(xml); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateRequirement error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InvalidParameters, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { var requirementId = Requirements.UpdateRequirement(siteId, user.ID, inputXml.Document); if (requirementId.HasValue) { var dataManager = new DataManager(); var requirement = dataManager.Requirement.SelectById(siteId, requirementId.Value); var requestSourceType = dataManager.RequirementType.SelectById(siteId, requirement.RequirementTypeID); var documentNumerator = DocumentNumerator.GetNumber((Guid)requestSourceType.NumeratorID, requirement.CreatedAt, requestSourceType.tbl_Numerator.Mask, "tbl_Requirement"); requirement.Number = documentNumerator.Number; requirement.SerialNumber = documentNumerator.SerialNumber; dataManager.Requirement.Update(requirement); } _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.UpdateRequirement error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// Creates the action. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="xml">The XML.</param> /// <returns></returns> public string CreateAction(Guid siteId, string username, string password, string xml) { var user = _authorization.Authorize(siteId, username, password); if (user == null || !Access.Check(user, "API").Write) { return(StatusHelper.FormatMessage(StatusCodes.AccessDenied, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } XDocument inputXml; try { inputXml = XDocument.Parse(xml); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.CreateAction error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InvalidParameters, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } try { Actions.CreateAction(siteId, inputXml.Document); _result = StatusHelper.FormatMessage(StatusCodes.Ok, MethodBase.GetCurrentMethod().Name, _result); //CounterServiceHelper.CheckEvent(siteId, Guid.Parse(inputXml.XPathSelectElement("/LeadForceRequest/Action/ContactID").Value)); } catch (Exception ex) { Log.Error(string.Format("LeadForce.API.CreateAction error, SiteId: {0}, UserName: {1}, Xml: {2}", siteId, username, xml), ex); return(StatusHelper.FormatMessage(StatusCodes.InternalError, MethodBase.GetCurrentMethod().Name, _result).ToString(SaveOptions.DisableFormatting)); } return(_result.ToString(SaveOptions.DisableFormatting)); }