private static ContactWrapper GetContactWithFotos(ContactWrapper contact) { contact.SmallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(contact.ID, contact.IsCompany); contact.MediumFotoUrl = ContactPhotoManager.GetMediumSizePhoto(contact.ID, contact.IsCompany); return(contact); }
private void ResponceContactPhotoUrl(HttpContext context) { var contactId = Convert.ToInt32(context.Request["cid"]); var isCompany = Convert.ToBoolean(context.Request["isc"]); var photoSize = Convert.ToInt32(context.Request["ps"]); String photoUrl = String.Empty; switch (photoSize) { case 1: photoUrl = ContactPhotoManager.GetSmallSizePhoto(contactId, isCompany); break; case 2: photoUrl = ContactPhotoManager.GetMediumSizePhoto(contactId, isCompany); break; case 3: photoUrl = ContactPhotoManager.GetBigSizePhoto(contactId, isCompany); break; default: throw new Exception(CRMErrorsResource.ContactPhotoSizeUnknown); } context.Response.Clear(); context.Response.Write(photoUrl); context.Response.End(); }
protected string GetContactImgSrc(int contactID) { if (contactID > 0) { var contact = Global.DaoFactory.GetContactDao().GetByID(contactID); return(ContactPhotoManager.GetSmallSizePhoto(contactID, contact is Company)); } return(WebImageSupplier.GetAbsoluteWebPath("blank.gif")); }
public IEnumerable <VoipCallWrapper> GetCalls(string callType, ApiDateTime from, ApiDateTime to, Guid?agent, int?client, int?contactID) { var voipDao = DaoFactory.VoipDao; var filter = new VoipCallFilter { Type = callType, FromDate = from != null ? from.UtcTime : (DateTime?)null, ToDate = to != null?to.UtcTime.AddDays(1).AddMilliseconds(-1) : (DateTime?)null, Agent = agent, Client = client, ContactID = contactID, SortBy = _context.SortBy, SortOrder = !_context.SortDescending, SearchText = _context.FilterValue, Offset = _context.StartIndex, Max = _context.Count, }; _context.SetDataPaginated(); _context.SetDataFiltered(); _context.SetDataSorted(); _context.TotalCount = voipDao.GetCallsCount(filter); var defaultSmallPhoto = ContactPhotoManager.GetSmallSizePhoto(-1, false); var calls = voipDao.GetCalls(filter).Select( r => { ContactWrapper contact; if (r.ContactId != 0) { contact = r.ContactIsCompany ? (ContactWrapper) new CompanyWrapper(r.ContactId) { DisplayName = r.ContactTitle } : new PersonWrapper(r.ContactId) { DisplayName = r.ContactTitle }; contact.SmallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(contact.ID, contact.IsCompany); } else { contact = new PersonWrapper(-1) { SmallFotoUrl = defaultSmallPhoto }; } return(new VoipCallWrapper(r, contact)); }).ToList(); return(calls); }
protected override IEnumerable <KeyValuePair <string, object> > GetClientVariables(HttpContext context) { return(new List <KeyValuePair <string, object> >(1) { RegisterObject(new { SmallSizePhotoCompany = ContactPhotoManager.GetSmallSizePhoto(0, true), SmallSizePhoto = ContactPhotoManager.GetSmallSizePhoto(0, false), MediumSizePhotoCompany = ContactPhotoManager.GetMediumSizePhoto(0, true), MediumSizePhoto = ContactPhotoManager.GetMediumSizePhoto(0, false), }) }); }
public ContactBaseWrapper(Contact contact) : base(contact.ID) { DisplayName = contact.GetTitle(); IsPrivate = CRMSecurity.IsPrivate(contact); if (IsPrivate) { AccessList = CRMSecurity.GetAccessSubjectTo(contact) .Select(item => EmployeeWraper.Get(item.Key)); } SmallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(contact.ID, contact is Company); IsCompany = contact is Company; CanEdit = CRMSecurity.CanEdit(contact); }
public String ContactsToJSON(List <Contact> contacts) { var result = new List <Object>(); foreach (var contact in contacts) { if (contact is Company) { result.Add(new { id = contact.ID, title = contact.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(contact.ID, true), parentID = 0, parentTitle = "", parentImg = "" }); } else { var people = (Person)contact; var title = ""; var img = ""; if (people.CompanyID != 0) { title = Global.DaoFactory.GetContactDao().GetByID(people.CompanyID).GetTitle(); img = ContactPhotoManager.GetSmallSizePhoto(people.CompanyID, true); } result.Add(new { id = contact.ID, title = contact.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(contact.ID, false), parentID = people.CompanyID, parentTitle = title.HtmlEncode(), parentImg = img }); } } return(JsonConvert.SerializeObject(result)); }
private void ResponceContactPhotoUrl(HttpContext context) { var contactId = Convert.ToInt32(context.Request["cid"]); var isCompany = Convert.ToBoolean(context.Request["isc"]); var photoSize = Convert.ToInt32(context.Request["ps"]); String photoUrl = String.Empty; switch (photoSize) { case 1: photoUrl = ContactPhotoManager.GetSmallSizePhoto(contactId, isCompany); break; case 2: photoUrl = ContactPhotoManager.GetMediumSizePhoto(contactId, isCompany); break; case 3: photoUrl = ContactPhotoManager.GetBigSizePhoto(contactId, isCompany); break; default: throw new Exception(CRMErrorsResource.ContactPhotoSizeUnknown); } context.Response.Clear(); context.Response.Write(photoUrl); try { context.Response.Flush(); context.Response.SuppressContent = true; context.ApplicationInstance.CompleteRequest(); } catch (HttpException ex) { LogManager.GetLogger("ASC").Error("ResponceContactPhotoUrl", ex); } }
public void ProcessRequest(HttpContext context) { try { var contactId = Convert.ToInt32(context.Request.QueryString["cid"]); var photoSize = Convert.ToInt32(context.Request.QueryString["ps"]); string photoUrl; switch (photoSize) { case 1: photoUrl = ContactPhotoManager.GetSmallSizePhoto(contactId); break; case 2: photoUrl = ContactPhotoManager.GetMediumSizePhoto(contactId); break; case 3: photoUrl = ContactPhotoManager.GetBigSizePhoto(contactId); break; default: throw new HttpException("Unknown photo size"); } context.Response.Clear(); context.Response.Write(photoUrl); } catch (Exception) { context.Response.Redirect("404.html"); } finally { context.Response.End(); } }
public IEnumerable <VoipCallWrapper> GetMissedCalls() { var voipDao = DaoFactory.VoipDao; var defaultSmallPhoto = ContactPhotoManager.GetSmallSizePhoto(-1, false); var calls = voipDao.GetMissedCalls(SecurityContext.CurrentAccount.ID, 10, DateTime.UtcNow.AddDays(-7)).Select( r => { ContactWrapper contact; if (r.ContactId != 0) { contact = r.ContactIsCompany ? (ContactWrapper) new CompanyWrapper(r.ContactId) { DisplayName = r.ContactTitle } : new PersonWrapper(r.ContactId) { DisplayName = r.ContactTitle }; contact.SmallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(contact.ID, contact.IsCompany); } else { contact = new PersonWrapper(-1) { SmallFotoUrl = defaultSmallPhoto }; } return(new VoipCallWrapper(r, contact)); }).ToList(); _context.SetDataPaginated(); _context.SetDataFiltered(); _context.SetDataSorted(); _context.TotalCount = calls.Count; return(calls); }
public String AddNewContact(bool isCompany, string companyName, string firstName, string lastName) { if (isCompany) { var company = new Company { CompanyName = companyName.Trim() }; company.ID = Global.DaoFactory.GetContactDao().SaveContact(company); CRMSecurity.MakePublic(company); return(JsonConvert.SerializeObject(new { id = company.ID, title = company.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(company.ID, true) })); } else { var contact = new Person { FirstName = firstName.Trim(), LastName = lastName.Trim() }; contact.ID = Global.DaoFactory.GetContactDao().SaveContact(contact); CRMSecurity.MakePublic(contact); return(JsonConvert.SerializeObject(new { id = contact.ID, title = contact.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(contact.ID, false) })); } }
protected string GetContactImgSrc() { return(SelectedContact != null?ContactPhotoManager.GetSmallSizePhoto(SelectedContact.ID, SelectedContact is Company) : WebImageSupplier.GetAbsoluteWebPath("blank.gif")); }
protected void Page_Load(object sender, EventArgs e) { MobileVer = ASC.Web.Core.Mobile.MobileDetector.IsRequestMatchesMobile(this.Context); if (UrlParameters.Action != "export") { InitEmptyScreenControls(); Utility.RegisterTypeForAjax(typeof(AjaxProHelper)); if (EntityID == 0 && CurrentContact == null)//the main page with tasks { RegisterClientScriptForFilter(); GetDataFromCookie(); } else // the tab with tasks { if (CurrentContact != null) { Page.ClientScript.RegisterClientScriptBlock(GetType(), "8adeda71-2ad7-43b7-9939-f69c776dfbc0", "contactForInitTaskActionPanel = " + JavaScriptSerializer.Serialize(new { id = CurrentContact.ID, displayName = CurrentContact.GetTitle().HtmlEncode(), smallFotoUrl = ContactPhotoManager.GetSmallSizePhoto(CurrentContact.ID, CurrentContact is Company) }) + "; ", true); } if (UserList != null && UserList.Count > 0) { _taskActionView.UserList = UserList; } } } else // export to csv { if (!CRMSecurity.IsAdmin) { Response.Redirect(PathProvider.StartURL()); } var tasks = GetTasksByFilter(); if (UrlParameters.View != "editor") { Response.Clear(); Response.ContentType = "text/csv; charset=utf-8"; Response.ContentEncoding = Encoding.UTF8; Response.Charset = Encoding.UTF8.WebName; var fileName = "tasks.csv"; Response.AppendHeader("Content-Disposition", String.Format("attachment; filename={0}", fileName)); Response.Write(ExportToCSV.ExportTasksToCSV(tasks, false)); Response.End(); } else { var fileUrl = ExportToCSV.ExportTasksToCSV(tasks, true); Response.Redirect(fileUrl); } } }
protected override IEnumerable <KeyValuePair <string, object> > GetClientVariables(HttpContext context) { var imgs = new Dictionary <string, string> { { "empty_screen_filter", WebImageSupplier.GetAbsoluteWebPath("empty_screen_filter.png") }, { "empty_screen_tasks", WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID) }, { "empty_screen_deals", WebImageSupplier.GetAbsoluteWebPath("empty_screen_deals.png", ProductEntryPoint.ID) }, { "empty_screen_cases", WebImageSupplier.GetAbsoluteWebPath("empty_screen_cases.png", ProductEntryPoint.ID) }, { "empty_screen_invoices", WebImageSupplier.GetAbsoluteWebPath("empty_screen_invoices.png", ProductEntryPoint.ID) }, { "empty_screen_products_services", WebImageSupplier.GetAbsoluteWebPath("empty_screen_products_services.png", ProductEntryPoint.ID) }, { "empty_screen_taxes", WebImageSupplier.GetAbsoluteWebPath("empty_screen_taxes.png", ProductEntryPoint.ID) }, { "empty_screen_persons", WebImageSupplier.GetAbsoluteWebPath("empty_screen_persons.png", ProductEntryPoint.ID) }, { "empty_screen_phones", WebImageSupplier.GetAbsoluteWebPath("empty_screen_phones.png", ProductEntryPoint.ID) }, { "empty_screen_voip_settings", WebImageSupplier.GetAbsoluteWebPath("empty_screen_voip_settings.png", ProductEntryPoint.ID) }, { "empty_people_logo_40_40", WebImageSupplier.GetAbsoluteWebPath("empty_people_logo_40_40.png", ProductEntryPoint.ID) }, { "empty_screen_opportunity_participants", WebImageSupplier.GetAbsoluteWebPath("empty_screen_opportunity_participants.png", ProductEntryPoint.ID) }, { "empty_screen_company_participants", WebImageSupplier.GetAbsoluteWebPath("empty_screen_company_participants.png", ProductEntryPoint.ID) }, { "empty_screen_case_participants", WebImageSupplier.GetAbsoluteWebPath("empty_screen_case_participants.png", ProductEntryPoint.ID) }, { "empty_screen_projects", WebImageSupplier.GetAbsoluteWebPath("empty_screen_projects.png", ProductEntryPoint.ID) }, { "empty_screen_userfields", WebImageSupplier.GetAbsoluteWebPath("empty_screen_userfields.png", ProductEntryPoint.ID) }, { "empty_screen_tags", WebImageSupplier.GetAbsoluteWebPath("empty_screen_tags.png", ProductEntryPoint.ID) }, { "empty_screen_twitter", WebImageSupplier.GetAbsoluteWebPath("empty_screen_twitter.png", ProductEntryPoint.ID) } }; return(new List <KeyValuePair <string, object> >(1) { RegisterObject( new { MediumSizePhotoCompany = ContactPhotoManager.GetMediumSizePhoto(0, true), MediumSizePhoto = ContactPhotoManager.GetMediumSizePhoto(0, false), SmallSizePhotoCompany = ContactPhotoManager.GetSmallSizePhoto(0, true), SmallSizePhoto = ContactPhotoManager.GetSmallSizePhoto(0, false), ProfileRemoved = Constants.LostUser.DisplayUserName(), System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator, KeyCodeCurrencyDecimalSeparator = (int)System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0], Global.VisiblePageCount, DefaultEntryCountOnPage = Global.EntryCountOnPage, Global.DefaultCustomFieldSize, Global.DefaultCustomFieldRows, Global.DefaultCustomFieldCols, Global.MaxCustomFieldSize, Global.MaxCustomFieldRows, Global.MaxCustomFieldCols, Global.MaxHistoryEventCharacters, Global.MaxInvoiceItemPrice, Global.CanDownloadInvoices, IsCRMAdmin = CRMSecurity.IsAdmin, EmptyScrImgs = imgs, ImageWebPath = WebImageSupplier.GetImageFolderAbsoluteWebPath(ProductEntryPoint.ID), ContactSelectorTypeEnum = new Dictionary <string, int> { { "All", (int)ContactSelectorTypeEnum.All }, { "Companies", (int)ContactSelectorTypeEnum.Companies }, { "CompaniesAndPersonsWithoutCompany", (int)ContactSelectorTypeEnum.CompaniesAndPersonsWithoutCompany }, { "Persons", (int)ContactSelectorTypeEnum.Persons }, { "PersonsWithoutCompany", (int)ContactSelectorTypeEnum.PersonsWithoutCompany } }, HistoryCategorySystem = new Dictionary <string, int> { { "TaskClosed", (int)HistoryCategorySystem.TaskClosed }, { "FilesUpload", (int)HistoryCategorySystem.FilesUpload }, { "MailMessage", (int)HistoryCategorySystem.MailMessage } }, DefaultContactPhoto = new Dictionary <string, string> { { "CompanyBigSizePhoto", ContactPhotoManager.GetBigSizePhoto(0, true) }, { "PersonBigSizePhoto", ContactPhotoManager.GetBigSizePhoto(0, false) }, { "CompanyMediumSizePhoto", ContactPhotoManager.GetMediumSizePhoto(0, true) }, { "PersonMediumSizePhoto", ContactPhotoManager.GetMediumSizePhoto(0, false) } }, CookieKeyForPagination = new Dictionary <string, string> { { "contacts", "contactPageNumber" }, { "tasks", "taskPageNumber" }, { "deals", "dealPageNumber" }, { "cases", "casesPageNumber" }, { "invoices", "invoicePageNumber" }, { "invoiceitems", "invoiceItemsPageNumber" } }, CanCreateProjects = Global.CanCreateProjects() }) }); }
public void ProcessRequest(HttpContext context) { var log = LogManager.GetLogger("ASC.Mail.ContactPhotoHandler"); try { if (!SecurityContext.IsAuthenticated) { throw new HttpException(403, "Access denied."); } var contactId = Convert.ToInt32(context.Request.QueryString["cid"]); var photoSize = Convert.ToInt32(context.Request.QueryString["ps"]); string photoUrl; switch (photoSize) { case 1: photoUrl = ContactPhotoManager.GetSmallSizePhoto(contactId); break; case 2: photoUrl = ContactPhotoManager.GetMediumSizePhoto(contactId); break; case 3: photoUrl = ContactPhotoManager.GetBigSizePhoto(contactId); break; default: throw new HttpException("Unknown photo size"); } context.Response.Clear(); context.Response.Write(photoUrl); } catch (HttpException he) { log.Error("ContactPhoto handler failed", he); context.Response.StatusCode = he.GetHttpCode(); context.Response.Write(he.Message != null ? HttpUtility.HtmlEncode(he.Message) : MailApiErrorsResource.ErrorInternalServer); } catch (Exception ex) { log.Error("ContactPhoto handler failed", ex); context.Response.StatusCode = 404; context.Response.Redirect("404.html"); } finally { try { context.Response.Flush(); context.Response.SuppressContent = true; context.ApplicationInstance.CompleteRequest(); } catch (HttpException ex) { LogManager.GetLogger("ASC").Error("ResponceContactPhotoUrl", ex); } } }
public async Task Invoke(HttpContext context, Global global, ContactPhotoManager contactPhotoManager) { context.Request.EnableBuffering(); var action = context.Request.Query["action"]; switch (action) { case "contactphotoulr": { var contactId = Convert.ToInt32(context.Request.Query["cid"]); var isCompany = Convert.ToBoolean(context.Request.Query["isc"]); var photoSize = Convert.ToInt32(context.Request.Query["ps"]); string photoUrl; switch (photoSize) { case 1: photoUrl = contactPhotoManager.GetSmallSizePhoto(contactId, isCompany); break; case 2: photoUrl = contactPhotoManager.GetMediumSizePhoto(contactId, isCompany); break; case 3: photoUrl = contactPhotoManager.GetBigSizePhoto(contactId, isCompany); break; default: throw new Exception(CRMErrorsResource.ContactPhotoSizeUnknown); } context.Response.Clear(); await context.Response.WriteAsync(photoUrl); } break; case "mailmessage": { var messageId = Convert.ToInt32(context.Request.Query["message_id"]); var filePath = String.Format("folder_{0}/message_{1}.html", (messageId / 1000 + 1) * 1000, messageId); string messageContent = string.Empty; using (var streamReader = new StreamReader(global.GetStore().GetReadStream("mail_messages", filePath))) { messageContent = streamReader.ReadToEnd(); } context.Response.Clear(); await context.Response.WriteAsync(messageContent); } break; default: throw new ArgumentException(String.Format("action='{0}' is not defined", action)); } }
protected string GetContactsByPrefixJSON(EntityType targetEntityType, int targetEntityID, string prefix) { var allContacts = new List <Contact>(); var findedContacts = new List <Contact>(); switch (targetEntityType) { case EntityType.Opportunity: allContacts = Global.DaoFactory.GetContactDao().GetContacts(Global.DaoFactory.GetDealDao().GetMembers(targetEntityID)); break; case EntityType.Case: allContacts = Global.DaoFactory.GetContactDao().GetContacts(Global.DaoFactory.GetCasesDao().GetMembers(targetEntityID)); break; } foreach (var c in allContacts) { if (c is Person) { var people = (Person)c; if (UserFormatter.GetUserName(people.FirstName, people.LastName).IndexOf(prefix) != -1) { findedContacts.Add(c); } } else { var company = (Company)c; if (company.CompanyName.IndexOf(prefix) != -1) { findedContacts.Add(c); } } } return(JavaScriptSerializer.Serialize(findedContacts.ConvertAll(contact => { var displayTitle = String.Empty; var imgPath = String.Empty; if (contact is Person) { var people = (Person)contact; imgPath = ContactPhotoManager.GetSmallSizePhoto(people.ID, false);; displayTitle = UserFormatter.GetUserName(people.FirstName, people.LastName); } else { var company = (Company)contact; imgPath = ContactPhotoManager.GetSmallSizePhoto(company.ID, true); displayTitle = company.CompanyName; } return new { id = contact.ID, title = displayTitle, img = imgPath }; } ))); }