public static MilestoneWrapper GetSample()
 {
     return(new MilestoneWrapper
     {
         Id = 10,
         ProjectOwner = SimpleProjectWrapper.GetSample(),
         Title = "Sample Title",
         Description = "Sample description",
         Created = ApiDateTime.GetSample(),
         CreatedBy = EmployeeWraper.GetSample(),
         Updated = ApiDateTime.GetSample(),
         UpdatedBy = EmployeeWraper.GetSample(),
         Responsible = EmployeeWraper.GetSample(),
         Status = (int)MilestoneStatus.Open,
         Deadline = ApiDateTime.GetSample(),
         IsKey = false,
         IsNotify = false,
         CanEdit = true,
         ActiveTaskCount = 15,
         ClosedTaskCount = 5
     });
 }
 public InvoiceBaseWrapper(Invoice invoice)
     : base(invoice.ID)
 {
     Status       = new InvoiceStatusWrapper(invoice.Status);
     Number       = invoice.Number;
     IssueDate    = (ApiDateTime)invoice.IssueDate;
     TemplateType = invoice.TemplateType;
     DueDate      = (ApiDateTime)invoice.DueDate;
     Currency     = !String.IsNullOrEmpty(invoice.Currency) ?
                    new CurrencyInfoWrapper(CurrencyProvider.Get(invoice.Currency)) :
                    new CurrencyInfoWrapper(Global.TenantSettings.DefaultCurrency);
     ExchangeRate        = invoice.ExchangeRate;
     Language            = invoice.Language;
     PurchaseOrderNumber = invoice.PurchaseOrderNumber;
     Terms       = invoice.Terms;
     Description = invoice.Description;
     FileID      = invoice.FileID;
     CreateOn    = (ApiDateTime)invoice.CreateOn;
     CreateBy    = EmployeeWraper.Get(invoice.CreateBy);
     CanEdit     = CRMSecurity.CanEdit(invoice);
     CanDelete   = CRMSecurity.CanDelete(invoice);
 }
Beispiel #3
0
 public static new ForumTopicWrapperFull GetSample()
 {
     return(new ForumTopicWrapperFull()
     {
         Created = (ApiDateTime)DateTime.Now,
         Updated = (ApiDateTime)DateTime.Now,
         Id = 10,
         UpdatedBy = EmployeeWraper.GetSample(),
         Text = "This is sample post",
         Status = TopicStatus.Sticky,
         Tags = new List <string>()
         {
             "Tag1", "Tag2"
         },
         Title = "Sample topic",
         Type = TopicType.Informational,
         Posts = new List <ForumTopicPostWrapper>()
         {
             ForumTopicPostWrapper.GetSample()
         }
     });
 }
Beispiel #4
0
        public TimeWrapper(TimeSpend timeSpend)
        {
            Date                 = (ApiDateTime)timeSpend.Date;
            Hours                = timeSpend.Hours;
            Id                   = timeSpend.ID;
            Note                 = timeSpend.Note;
            CreatedBy            = EmployeeWraper.Get(timeSpend.CreateBy);
            RelatedProject       = timeSpend.Task.Project.ID;
            RelatedTask          = timeSpend.Task.ID;
            RelatedTaskTitle     = timeSpend.Task.Title;
            CanEdit              = ProjectSecurity.CanEdit(timeSpend);
            PaymentStatus        = timeSpend.PaymentStatus;
            StatusChanged        = (ApiDateTime)timeSpend.StatusChangedOn;
            CanEditPaymentStatus = ProjectSecurity.CanEditPaymentStatus(timeSpend);
            Task                 = new TaskWrapper(timeSpend.Task);
            CreateOn             = (ApiDateTime)timeSpend.CreateOn;

            if (timeSpend.CreateBy != timeSpend.Person)
            {
                Person = EmployeeWraper.Get(timeSpend.Person);
            }
        }
        public ContactBaseWrapper(Contact contact)
            : base(contact.ID)
        {
            DisplayName = contact.GetTitle();
            IsPrivate   = CRMSecurity.IsPrivate(contact);
            IsShared    = contact.ShareType == ShareType.ReadWrite || contact.ShareType == ShareType.Read;
            ShareType   = contact.ShareType;

            if (IsPrivate)
            {
                AccessList = CRMSecurity.GetAccessSubjectTo(contact)
                             .Select(item => EmployeeWraper.Get(item.Key));
            }
            Currency = !String.IsNullOrEmpty(contact.Currency) ?
                       new CurrencyInfoWrapper(CurrencyProvider.Get(contact.Currency)) :
                       null;

            SmallFotoUrl  = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=1", PathProvider.BaseAbsolutePath, contact.ID, contact is Company);
            MediumFotoUrl = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=2", PathProvider.BaseAbsolutePath, contact.ID, contact is Company);
            IsCompany     = contact is Company;
            CanEdit       = CRMSecurity.CanEdit(contact);
            CanDelete     = CRMSecurity.CanDelete(contact);
        }
 /// <summary>
 /// </summary>
 /// <returns></returns>
 public static FileWrapper GetSample()
 {
     return(new FileWrapper
     {
         Access = FileShare.ReadWrite,
         Updated = ApiDateTime.GetSample(),
         Created = ApiDateTime.GetSample(),
         CreatedBy = EmployeeWraper.GetSample(),
         Id = new Random().Next(),
         RootFolderType = FolderType.BUNCH,
         Shared = false,
         Title = "Some titile.txt",
         FileExst = ".txt",
         FileType = FileType.Document,
         UpdatedBy = EmployeeWraper.GetSample(),
         ContentLength = 12345.ToString(CultureInfo.InvariantCulture),
         FileStatus = FileStatus.IsNew,
         FolderId = 12334,
         Version = 3,
         VersionGroup = 1,
         ViewUrl = "http://www.teamlab.com/viewfile?fileid=2221"
     });
 }
Beispiel #7
0
        public SubtaskWrapper(Subtask subtask, Task task)
        {
            Id = subtask.ID;

            if (subtask.Responsible != Guid.Empty)
            {
                Responsible = EmployeeWraper.Get(subtask.Responsible);
            }

            Title   = subtask.Title;
            Status  = (int)subtask.Status;
            CanEdit = ProjectSecurity.CanEdit(task, subtask);

            CreatedBy = EmployeeWraper.Get(subtask.CreateBy);

            if (subtask.CreateBy != subtask.LastModifiedBy)
            {
                UpdatedBy = EmployeeWraper.Get(subtask.LastModifiedBy);
            }

            Updated = (ApiDateTime)subtask.LastModifiedOn;
            Created = (ApiDateTime)subtask.CreateOn;
        }
Beispiel #8
0
 /// <summary>
 /// </summary>
 /// <returns></returns>
 public static FileWrapper GetSample()
 {
     return new FileWrapper
     {
         Access = FileShare.ReadWrite,
         Updated = ApiDateTime.GetSample(),
         Created = ApiDateTime.GetSample(),
         CreatedBy = EmployeeWraper.GetSample(),
         Id = new Random().Next(),
         RootFolderType = FolderType.BUNCH,
         Shared = false,
         Title = "Some titile.txt",
         FileExst = ".txt",
         FileType = FileType.Document,
         UpdatedBy = EmployeeWraper.GetSample(),
         ContentLength = "12.06 KB", //12345
         PureContentLength = 12345,
         FileStatus = FileStatus.IsNew,
         FolderId = 12334,
         Version = 3,
         VersionGroup = 1,
         ViewUrl = "http://www.onlyoffice.com/viewfile?fileid=2221"
     };
 }
        public static PersonWrapper ToPersonWrapperQuick(Person person)
        {
            var result = new PersonWrapper(person.ID);

            result.DisplayName = person.GetTitle();
            result.IsPrivate   = CRMSecurity.IsPrivate(person);
            result.IsShared    = person.ShareType == ShareType.ReadWrite || person.ShareType == ShareType.Read;
            result.ShareType   = person.ShareType;

            if (result.IsPrivate)
            {
                result.AccessList = CRMSecurity.GetAccessSubjectTo(person)
                                    .Select(item => EmployeeWraper.Get(item.Key));
            }
            result.Currency = !String.IsNullOrEmpty(person.Currency) ?
                              new CurrencyInfoWrapper(CurrencyProvider.Get(person.Currency)) :
                              null;

            result.SmallFotoUrl  = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=1", PathProvider.BaseAbsolutePath, person.ID, false);
            result.MediumFotoUrl = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=2", PathProvider.BaseAbsolutePath, person.ID, false);
            result.IsCompany     = false;
            result.CanEdit       = CRMSecurity.CanEdit(person);
            //result.CanDelete = CRMSecurity.CanDelete(contact);

            result.CreateBy = EmployeeWraper.Get(person.CreateBy);
            result.Created  = (ApiDateTime)person.CreateOn;
            result.About    = person.About;
            result.Industry = person.Industry;


            result.FirstName = person.FirstName;
            result.LastName  = person.LastName;
            result.Title     = person.JobTitle;

            return(result);
        }
 public static InvoiceWrapper GetSample()
 {
     return(new InvoiceWrapper(0)
     {
         Status = new InvoiceStatusWrapper(InvoiceStatus.Draft),
         Number = string.Empty,
         IssueDate = (ApiDateTime)DateTime.UtcNow,
         TemplateType = InvoiceTemplateType.Eur,
         Language = string.Empty,
         DueDate = (ApiDateTime)DateTime.UtcNow.AddDays(30),
         Currency = new CurrencyInfoWrapper(Global.TenantSettings.DefaultCurrency),
         ExchangeRate = (decimal)1.00,
         PurchaseOrderNumber = string.Empty,
         Terms = string.Empty,
         Description = string.Empty,
         FileID = -1,
         CreateOn = (ApiDateTime)DateTime.UtcNow,
         CreateBy = EmployeeWraper.GetSample(),
         CanEdit = true,
         CanDelete = true,
         Cost = 0,
         InvoiceLines = new List <InvoiceLineWrapper>()
     });
 }
        public ProjectActivityWrapper(UserActivity activity)
        {
            Id         = activity.ID;
            ProjectId  = activity.ContainerID;
            Title      = activity.Title;
            Url        = activity.URL;
            ActionText = activity.ActionText;
            Date       = (ApiDateTime)activity.Date;
            User       = EmployeeWraper.Get(activity.UserID);

            if (string.IsNullOrEmpty(activity.AdditionalData))
            {
                return;
            }

            var data = activity.AdditionalData.Split('|');

            if (data.Length <= 0)
            {
                return;
            }

            EntityType = data[0];

            ProjectTitle = data.Length == 3 ? data[2] : "";

            switch (EntityType)
            {
            case "Project":
                EntityTitle = ProjectsEnumResource.EntityType_Project;
                break;

            case "Milestone":
                EntityTitle = ProjectsEnumResource.EntityType_Milestone;
                break;

            case "Message":
                EntityTitle = ProjectsEnumResource.EntityType_Message;
                break;

            case "Team":
                EntityTitle = ProjectsEnumResource.EntityType_Team;
                break;

            case "Task":
                EntityTitle = ProjectsEnumResource.EntityType_Task;
                break;

            case "SubTask":
                EntityTitle = ProjectsEnumResource.EntityType_SubTask;
                break;

            case "TimeSpend":
                EntityTitle = ProjectsEnumResource.EntityType_TimeSpend;
                break;

            case "Comment":
                EntityTitle = ProjectsEnumResource.EntityType_Comment;
                break;
            }
        }
Beispiel #12
0
        private IEnumerable <OpportunityWrapper> ToListOpportunityWrapper(ICollection <Deal> deals)
        {
            if (deals == null || deals.Count == 0)
            {
                return(new List <OpportunityWrapper>());
            }

            var result = new List <OpportunityWrapper>();

            var contactIDs       = new List <int>();
            var dealIDs          = new List <int>();
            var dealMilestoneIDs = new List <int>();

            foreach (var deal in deals)
            {
                contactIDs.Add(deal.ContactID);
                dealIDs.Add(deal.ID);
                dealMilestoneIDs.Add(deal.DealMilestoneID);
            }

            dealMilestoneIDs = dealMilestoneIDs.Distinct().ToList();

            var contacts = new Dictionary <int, ContactBaseWrapper>();

            var customFields = DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Opportunity, dealIDs.ToArray())
                               .GroupBy(item => item.EntityID)
                               .ToDictionary(item => item.Key, item => item.Select(x => ToCustomFieldWrapper(x)));

            var dealMilestones = DaoFactory.GetDealMilestoneDao().GetAll(dealMilestoneIDs.ToArray())
                                 .ToDictionary(item => item.ID, item => ToDealMilestoneWrapper(item));


            var dealMembers = DaoFactory.GetDealDao().GetMembers(dealIDs.ToArray());

            foreach (var value in dealMembers.Values)
            {
                contactIDs.AddRange(value);
            }

            contactIDs = contactIDs.Distinct().ToList();

            if (contactIDs.Count > 0)
            {
                DaoFactory.GetContactDao().GetContacts(contactIDs.ToArray()).ForEach(item =>
                {
                    if (item == null)
                    {
                        return;
                    }

                    contacts.Add(item.ID, ToContactBaseWrapper(item));
                });
            }

            foreach (var deal in deals)
            {
                var dealWrapper = new OpportunityWrapper(deal);

                if (contacts.ContainsKey(deal.ContactID))
                {
                    dealWrapper.Contact = contacts[deal.ContactID];
                }

                if (customFields.ContainsKey(deal.ID))
                {
                    dealWrapper.CustomFields = customFields[deal.ID];
                }
                else
                {
                    dealWrapper.CustomFields = new List <CustomFieldWrapper>();
                }

                if (dealMembers.ContainsKey(dealWrapper.ID))
                {
                    dealWrapper.Members = dealMembers[dealWrapper.ID].Where(contacts.ContainsKey).Select(item => contacts[item]);
                }
                else
                {
                    dealWrapper.Members = new List <ContactBaseWrapper>();
                }

                if (dealMilestones.ContainsKey(deal.DealMilestoneID))
                {
                    dealWrapper.Stage = dealMilestones[deal.DealMilestoneID];
                }

                dealWrapper.IsPrivate = CRMSecurity.IsPrivate(deal);

                if (dealWrapper.IsPrivate)
                {
                    dealWrapper.AccessList = CRMSecurity.GetAccessSubjectTo(deal)
                                             .Select(item => EmployeeWraper.Get(item.Key)).ToItemList();
                }



                if (!String.IsNullOrEmpty(deal.BidCurrency))
                {
                    dealWrapper.BidCurrency = ToCurrencyInfoWrapper(CurrencyProvider.Get(deal.BidCurrency));
                }

                result.Add(dealWrapper);
            }

            return(result);
        }
Beispiel #13
0
 public IEnumerable <EmployeeWraper> GetProductAdministrators(Guid productid)
 {
     return(WebItemSecurity.GetProductAdministrators(productid)
            .Select(u => EmployeeWraper.Get(u))
            .ToList());
 }
 public IEnumerable <EmployeeWraper> GetProductAdministrators(Guid productid)
 {
     return(WebItemSecurity.GetProductAdministrators(Tenant, productid)
            .Select(r => EmployeeWraper.Get(r, ApiContext))
            .ToList());
 }