コード例 #1
0
        private ECollateralSettings ToECollateralSettings(eCollateralItem dbItem)
        {
            var retItem = new ECollateralSettings()
            {
                ItemID            = dbItem.ItemID,
                IsTemplate        = dbItem.IsTemplate,
                FileName          = dbItem.FileName,
                Status            = StatusTypes.StatusList[dbItem.Status],
                UpdateStatus      = dbItem.Status,
                CustomURL         = dbItem.URLText,
                CreatedByUserName = dbItem.CreatedByUser.FullName
            };

            if (!dbItem.IsTemplate)
            {
                retItem.PaoliSalesRepGroupID   = dbItem.DealershipID.HasValue ? dbItem.Company.Territory.SalesRepCompanyID : null;
                retItem.DealershipID           = dbItem.DealershipID;
                retItem.DealershipPOCID        = dbItem.DealershipPOCID;
                retItem.ProjectID              = dbItem.ProjectID;
                retItem.CustomerID             = dbItem.ProjectID.HasValue ? dbItem.Project.EndCustomerID : null;
                retItem.RealCustomerName       = dbItem.ProjectID.HasValue ? (dbItem.Project.EndCustomerID.HasValue ? dbItem.Project.EndCustomerCompany.Name : null) : null;
                retItem.RealProjectName        = dbItem.ProjectID.HasValue ? dbItem.Project.ProjectName : null;
                retItem.PaoliSalesRepGroupName = dbItem.DealershipID.HasValue ? dbItem.Company.Territory.SalesRepCompanyName : null;
                retItem.DealershipName         = dbItem.DealershipID.HasValue ? dbItem.Company.Name : null;
                retItem.DealershipPOCMember    = dbItem.DealershipPOCID.HasValue ? dbItem.DealershipPOC.FullName : null;
            }

            return(retItem);
        }
コード例 #2
0
        public int CopyLayout(int id, int userId)
        {
            var dbItem = database.eCollateralItems.FirstOrDefault(i => i.ItemID == id);

            if (dbItem != null)
            {
                var newItem = new eCollateralItem();
                newItem.CreatedByUserID        = userId;
                newItem.CreatedByDateTime      = DateTime.UtcNow;
                newItem.LastModifiedByUserID   = userId;
                newItem.LastModifiedByDateTime = DateTime.UtcNow;

                newItem.IsTemplate      = dbItem.IsTemplate;
                newItem.FileName        = dbItem.FileName;
                newItem.URLText         = "";
                newItem.DealershipID    = dbItem.DealershipID;
                newItem.DealershipPOCID = dbItem.DealershipPOCID;
                newItem.ProjectID       = dbItem.ProjectID;
                newItem.LayoutID        = dbItem.LayoutID;
                newItem.ContentType     = dbItem.ContentType;

                newItem.IncludeDealerImage = dbItem.IncludeDealerImage;

                newItem.Status = StatusTypes.Incomplete;

                foreach (var dbSection in dbItem.eCollateralSections)
                {
                    newItem.eCollateralSections.Add(new eCollateralSection()
                    {
                        ImageID  = dbSection.ImageID,
                        Content  = dbSection.Content,
                        Sequence = dbSection.Sequence
                    });
                }

                database.eCollateralItems.Add(newItem);

                if (database.SaveChanges() > 0)
                {
                    database.Entry(newItem).Reload();

                    return(newItem.ItemID);
                }
            }

            throw new Exception("Unable to find eCollateral");
        }
コード例 #3
0
        public bool AddSettings(ECollateralSettings settings, int userId, out int itemId)
        {
            itemId = 0;

            if (!ValidateURL(0, settings.CustomURL))
            {
                throw new Exception("URL is invalid");
            }

            var newItem = new eCollateralItem();

            newItem.CreatedByUserID        = userId;
            newItem.CreatedByDateTime      = DateTime.UtcNow;
            newItem.LastModifiedByUserID   = userId;
            newItem.LastModifiedByDateTime = DateTime.UtcNow;

            newItem.IsTemplate = settings.IsTemplate;
            newItem.FileName   = settings.FileName;
            newItem.URLText    = settings.CustomURL;
            if (settings.DealershipID != 0)
            {
                newItem.DealershipID = settings.DealershipID;
                if (settings.DealershipPOCID != 0)
                {
                    newItem.DealershipPOCID = settings.DealershipPOCID;
                }
            }
            newItem.ProjectID = settings.ProjectID;

            newItem.IncludeDealerImage = false;

            newItem.Status = StatusTypes.Incomplete;

            database.eCollateralItems.Add(newItem);

            if (database.SaveChanges() > 0)
            {
                database.Entry(newItem).Reload();

                itemId = newItem.ItemID;

                return(true);
            }

            throw new Exception("Unable to save eCollateral Item");
        }
コード例 #4
0
 private ECollateralSummary ToECollateralSummary(eCollateralItem dbItem)
 {
     return(new ECollateralSummary()
     {
         ItemID = dbItem.ItemID,
         FileName = dbItem.FileName,
         LastModifiedDate = dbItem.LastModifiedByDateTime,
         AuthorName = dbItem.CreatedByUser.FullName,
         AuthorImage = dbItem.CreatedByUser.ImageFileName,
         Dealership = !dbItem.IsTemplate && dbItem.DealershipID.HasValue ? dbItem.Company.Name : null,
         CustomerName = !dbItem.IsTemplate ? (dbItem.ProjectID.HasValue ? (dbItem.Project.EndCustomerID.HasValue ? dbItem.Project.EndCustomerCompany.Name : null) : null) : null,
         ProjectName = !dbItem.IsTemplate ? (dbItem.ProjectID.HasValue ? dbItem.Project.ProjectName : null) : null,
         ContentType = dbItem.ContentType.HasValue ? LayoutTypes.LayoutTypeList[dbItem.ContentType.Value] : "None",
         LayoutImage = dbItem.LayoutID.HasValue ? Layouts.LayoutImages[dbItem.LayoutID.Value] : "transparent.png",
         LayoutName = dbItem.LayoutID.HasValue ? Layouts.LayoutTitles[dbItem.LayoutID.Value] : "None",
         Status = StatusTypes.StatusList[dbItem.Status],
         HasLayout = dbItem.LayoutID.HasValue,
         HasSections = dbItem.eCollateralSections.Any(),
         IsComplete = dbItem.Status != StatusTypes.Incomplete
     });
 }
コード例 #5
0
        private ECollateralDetails ToECollateralDetails(eCollateralItem dbItem)
        {
            var dInfo = new ECollateralDetails();

            dInfo.ItemID          = dbItem.ItemID;
            dInfo.Name            = dbItem.FileName;
            dInfo.LayoutName      = Layouts.LayoutTitles[dbItem.LayoutID.Value];
            dInfo.EditViewName    = Layouts.LayoutEditViews[dbItem.LayoutID.Value];
            dInfo.DisplayViewName = Layouts.LayoutDisplayViews[dbItem.LayoutID.Value];
            dInfo.Details         = new List <ECollateralDetails.DetailItem>();
            if (dbItem.DealershipID.HasValue)
            {
                dInfo.AddDealerImage  = dbItem.IncludeDealerImage && !string.IsNullOrEmpty(dbItem.Company.ImageFileName);
                dInfo.DealerImageName = dbItem.Company.ImageFileName;
            }
            else
            {
                dInfo.AddDealerImage  = false;
                dInfo.DealerImageName = null;
            }

            for (int i = 0; i < Layouts.LayoutSections[dbItem.LayoutID.Value]; i++)
            {
                dInfo.Details.Add(new ECollateralDetails.DetailItem());
            }

            foreach (var dbDetail in dbItem.eCollateralSections)
            {
                dInfo.Details[dbDetail.Sequence] = new ECollateralDetails.DetailItem()
                {
                    ImageID       = dbDetail.ImageID,
                    Content       = System.Web.HttpUtility.HtmlDecode(dbDetail.Content),
                    ImageFileName = dbDetail.ImageID.HasValue ? dbDetail.ImageFile.ThumbnailImageData("l16to9").FileName : null
                };
            }

            return(dInfo);
        }