public static void DataInvoicesActionView(BasePage page, Invoice targetInvoice) { var invoiceItems = Global.DaoFactory.GetInvoiceItemDao().GetAll(); var invoiceItemsJson = JsonConvert.SerializeObject(invoiceItems.ConvertAll(item => new { id = item.ID, title = item.Title, stockKeepingUnit = item.StockKeepingUnit, description = item.Description, price = item.Price, quantity = item.Quantity, stockQuantity = item.StockQuantity, trackInventory = item.TrackInventory, invoiceTax1ID = item.InvoiceTax1ID, invoiceTax2ID = item.InvoiceTax2ID })); var invoiceTaxes = Global.DaoFactory.GetInvoiceTaxDao().GetAll(); var invoiceTaxesJson = JsonConvert.SerializeObject(invoiceTaxes.ConvertAll(item => new { id = item.ID, name = item.Name, rate = item.Rate, description = item.Description })); var invoiceSettings = Global.TenantSettings.InvoiceSetting ?? InvoiceSetting.DefaultSettings; var invoiceSettingsJson = JsonConvert.SerializeObject(new { autogenerated = invoiceSettings.Autogenerated, prefix = invoiceSettings.Prefix, number = invoiceSettings.Number, terms = invoiceSettings.Terms }); var presetContactsJson = string.Empty; var presetContactID = UrlParameters.ContactID; if (targetInvoice == null && presetContactID != 0) { var targetContact = Global.DaoFactory.GetContactDao().GetByID(presetContactID); if (targetContact != null) { presetContactsJson = JsonConvert.SerializeObject(new { id = targetContact.ID, displayName = targetContact.GetTitle().HtmlEncode().ReplaceSingleQuote(), smallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(targetContact.ID, targetContact is Company), currencyAbbreviation = targetContact.Currency }); } } var currencyRates = Global.DaoFactory.GetCurrencyRateDao().GetAll(); var currencyRatesJson = JsonConvert.SerializeObject(currencyRates.ConvertAll(item => new { id = item.ID, fromCurrency = item.FromCurrency, toCurrency = item.ToCurrency, rate = item.Rate })); var apiServer = new Api.ApiServer(); const string apiUrlFormat = "{0}crm/contact/{1}/data.json"; var contactInfoData = string.Empty; var consigneeInfoData = string.Empty; if(targetInvoice != null) { if (targetInvoice.ContactID > 0) { contactInfoData = apiServer.GetApiResponse(String.Format(apiUrlFormat, SetupInfo.WebApiBaseUrl, targetInvoice.ContactID), "GET"); } if (targetInvoice.ConsigneeID > 0) { consigneeInfoData = apiServer.GetApiResponse(String.Format(apiUrlFormat, SetupInfo.WebApiBaseUrl, targetInvoice.ConsigneeID), "GET"); } } else if (presetContactID != 0) { contactInfoData = apiServer.GetApiResponse(String.Format(apiUrlFormat, SetupInfo.WebApiBaseUrl, presetContactID), "GET"); } var apiUrl = String.Format("{0}crm/invoice/{1}.json", SetupInfo.WebApiBaseUrl, targetInvoice != null ? targetInvoice.ID.ToString(CultureInfo.InvariantCulture) : "sample"); var invoiceData = apiServer.GetApiResponse(apiUrl, "GET"); var script = String.Format(@" var invoiceItems = '{0}'; var invoiceTaxes = '{1}'; var invoiceSettings = '{2}'; var invoicePresetContact = '{3}'; var currencyRates = '{4}'; var invoiceJsonData = '{5}'; ", Global.EncodeTo64(invoiceItemsJson), Global.EncodeTo64(invoiceTaxesJson), Global.EncodeTo64(invoiceSettingsJson), Global.EncodeTo64(presetContactsJson), Global.EncodeTo64(currencyRatesJson), targetInvoice != null ? Global.EncodeTo64(targetInvoice.JsonData) : "" ); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(contactInfoData, "invoiceContactInfo"); page.JsonPublisher(consigneeInfoData, "invoiceConsigneeInfo"); page.JsonPublisher(invoiceData, "invoice"); }
public static void DataInvoicesDetailsView(BasePage page, Invoice targetInvoice) { if(targetInvoice == null) return; var script = String.Format(@"var invoiceData = '{0}';", Global.EncodeTo64(targetInvoice.JsonData)); var apiServer = new Api.ApiServer(); var apiUrl = String.Format("{0}crm/invoice/{1}.json",SetupInfo.WebApiBaseUrl, targetInvoice.ID); var invoice = apiServer.GetApiResponse(apiUrl, "GET"); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(invoice, "invoice"); }
public static void DataDealFullCardView(BasePage page, Deal targetDeal) { var customFieldList = Global.DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Opportunity, targetDeal.ID, false); var tags = Global.DaoFactory.GetTagDao().GetEntityTags(EntityType.Opportunity, targetDeal.ID); var availableTags = Global.DaoFactory.GetTagDao().GetAllTags(EntityType.Opportunity).Where(item => !tags.Contains(item)); var responsibleIDs = new List<Guid>(); if (CRMSecurity.IsPrivate(targetDeal)) { responsibleIDs = CRMSecurity.GetAccessSubjectGuidsTo(targetDeal); } var script = String.Format(@" var dealTags = {0}; var dealAvailableTags = {1}; var dealResponsibleIDs = {2}; ", JsonConvert.SerializeObject(tags), JsonConvert.SerializeObject(availableTags), JsonConvert.SerializeObject(responsibleIDs) ); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(customFieldList, "customFieldList"); }
public static void DataDealActionView(BasePage page, Deal targetDeal) { var customFieldList = targetDeal != null ? Global.DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Opportunity, targetDeal.ID, true) : Global.DaoFactory.GetCustomFieldDao().GetFieldsDescription(EntityType.Opportunity); var dealExcludedIDs = new List<Int32>(); var dealClientIDs = new List<Int32>(); var dealMembersIDs = new List<Int32>(); if (targetDeal != null) { dealExcludedIDs = Global.DaoFactory.GetDealDao().GetMembers(targetDeal.ID).ToList(); dealMembersIDs = new List<int>(dealExcludedIDs); if (targetDeal.ContactID != 0) { dealMembersIDs.Remove(targetDeal.ContactID); dealClientIDs.Add(targetDeal.ContactID); } } var presetClientContactsJson = ""; var presetMemberContactsJson = ""; var showMembersPanel = false; var selectedContacts = new List<Contact>(); var hasTargetClient = false; if (targetDeal != null && targetDeal.ContactID != 0) { var contact = Global.DaoFactory.GetContactDao().GetByID(targetDeal.ContactID); if(contact != null) { selectedContacts.Add(contact); } } else { var URLContactID = UrlParameters.ContactID; if (URLContactID != 0) { var target = Global.DaoFactory.GetContactDao().GetByID(URLContactID); if (target != null) { selectedContacts.Add(target); hasTargetClient = true; } } } if (selectedContacts.Count > 0) { presetClientContactsJson = JsonConvert.SerializeObject(selectedContacts.ConvertAll(item => new { id = item.ID, displayName = item.GetTitle().HtmlEncode().ReplaceSingleQuote().Replace(@"\", @"\\"), smallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(item.ID, item is Company) })); } selectedContacts = new List<Contact>(); selectedContacts.AddRange(Global.DaoFactory.GetContactDao().GetContacts(dealMembersIDs.ToArray())); if (selectedContacts.Count > 0) { showMembersPanel = true; presetMemberContactsJson = JsonConvert.SerializeObject(selectedContacts.ConvertAll(item => new { id = item.ID, displayName = item.GetTitle().HtmlEncode().ReplaceSingleQuote().Replace(@"\", @"\\"), smallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(item.ID, item is Company) })); } var ResponsibleSelectedUserId = targetDeal == null ? SecurityContext.CurrentAccount.ID : (targetDeal.ResponsibleID != Guid.Empty ? targetDeal.ResponsibleID : Guid.Empty); var script = String.Format(@" var presetClientContactsJson = '{0}'; var presetMemberContactsJson = '{1}'; var hasDealTargetClient = {2}; var showMembersPanel = {3}; var dealClientIDs = {4}; var dealMembersIDs = {5}; var responsibleId = '{6}'; ", presetClientContactsJson, presetMemberContactsJson, hasTargetClient.ToString().ToLower(), showMembersPanel.ToString().ToLower(), JsonConvert.SerializeObject(dealClientIDs), JsonConvert.SerializeObject(dealMembersIDs), ResponsibleSelectedUserId ); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(customFieldList, "customFieldList"); page.JsonPublisher(Global.DaoFactory.GetDealMilestoneDao().GetAll(), "dealMilestones"); if (targetDeal != null) { page.JsonPublisher(targetDeal, "targetDeal"); } }
public static void DataCasesActionView(BasePage page, ASC.CRM.Core.Entities.Cases targetCase) { var customFieldList = targetCase != null ? Global.DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Case, targetCase.ID, true) : Global.DaoFactory.GetCustomFieldDao().GetFieldsDescription(EntityType.Case); var tags = targetCase != null ? Global.DaoFactory.GetTagDao().GetEntityTags(EntityType.Case, targetCase.ID) : new string[] { }; var availableTags = Global.DaoFactory.GetTagDao().GetAllTags(EntityType.Case).Where(item => !tags.Contains(item)); var presetContactsJson = ""; var selectedContacts = new List<Contact>(); if (targetCase != null) { selectedContacts = Global.DaoFactory.GetContactDao().GetContacts(Global.DaoFactory.GetCasesDao().GetMembers(targetCase.ID)); } else { var URLContactID = UrlParameters.ContactID; if (URLContactID != 0) { var target = Global.DaoFactory.GetContactDao().GetByID(URLContactID); if (target != null) { selectedContacts.Add(target); } } } if (selectedContacts.Count > 0) { presetContactsJson = JsonConvert.SerializeObject(selectedContacts.ConvertAll(item => new { id = item.ID, displayName = item.GetTitle().HtmlEncode().ReplaceSingleQuote().Replace(@"\", @"\\"), smallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(item.ID, item is Company) })); } var script = String.Format(@" var casesActionTags = {0}; var casesActionAvailableTags = {1}; var casesActionSelectedContacts = '{2}'; ", JsonConvert.SerializeObject(tags), JsonConvert.SerializeObject(availableTags), presetContactsJson ); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(customFieldList, "casesEditCustomFieldList"); }
public static void DataListItemView(BasePage page, ListType currentTypeValue) { var query = "history/category"; switch (currentTypeValue) { case ListType.ContactStatus: query = "contact/status"; break; case ListType.ContactType: query = "contact/type"; break; case ListType.HistoryCategory: query = "history/category"; break; case ListType.TaskCategory: query = "task/category"; break; } var apiServer = new Api.ApiServer(); var data = apiServer.GetApiResponse(String.Format("{0}crm/{1}.json", SetupInfo.WebApiBaseUrl, query), "GET"); page.JsonPublisher(data, "itemList"); }
public static void DataDealMilestoneView(BasePage page) { var apiServer = new Api.ApiServer(); var data = apiServer.GetApiResponse(String.Format("{0}crm/opportunity/stage.json", SetupInfo.WebApiBaseUrl), "GET"); page.JsonPublisher(data, "dealMilestoneList"); }
public static void DataCustomFieldsView(BasePage page, EntityType entityType) { var customFieldList = Global.DaoFactory.GetCustomFieldDao().GetFieldsDescription(entityType); page.JsonPublisher(customFieldList, "customFieldList"); page.RegisterInlineScript(String.Format(" var relativeItems = {0}; ", Global.DaoFactory.GetCustomFieldDao().GetContactLinkCountJSON(entityType)), onReady: false); }
public static void DataCasesFullCardView(BasePage page, ASC.CRM.Core.Entities.Cases targetCase) { var customFieldList = Global.DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Case, targetCase.ID, false); var tags = Global.DaoFactory.GetTagDao().GetEntityTags(EntityType.Case, targetCase.ID); var availableTags = Global.DaoFactory.GetTagDao().GetAllTags(EntityType.Case).Where(item => !tags.Contains(item)); var responsibleIDs = new List<Guid>(); if (CRMSecurity.IsPrivate(targetCase)) { responsibleIDs = CRMSecurity.GetAccessSubjectGuidsTo(targetCase); } var script = String.Format(@" var caseTags = {0}; var caseAvailableTags = {1}; var caseResponsibleIDs = {2}; ", JsonConvert.SerializeObject(tags.ToList().ConvertAll(t => t.HtmlEncode())), JsonConvert.SerializeObject(availableTags.ToList().ConvertAll(t => t.HtmlEncode())), JsonConvert.SerializeObject(responsibleIDs)); page.RegisterInlineScript(script, onReady: false); page.JsonPublisher(customFieldList, "casesCustomFieldList"); }