Example #1
0
        /// <summary>
        /// Save the visual data.
        /// </summary>
        /// <param name="operation">The operation.</param>
        /// <param name="vpv">The VPV.</param>
        /// <param name="vovs">The vovs.</param>
        /// <param name="userName"></param>
        public void VisualizationDataSave(
            string operation,
            VPVVModels vpv,
            VOVVModel[] vovs, string userName)
        {
            var imageTypes = new string[] { "png", "jpg", "jpeg", "gif", "bpm" };

            IDBContext.Current.Operation = operation;
            //check if operation mapping is empty before call to save
            if (vpv.IsNotNull())
            {
                var business = new VisualizationBusinessContext();
                vpv.LocationTypeId       = MasterDefinitions.GetMaster("UNDEFINED").MasterId;
                business.VisualProjectId = vpv.VisualProjectId;
                business.Load(operation);
                business.ViewModel = vpv;
                if (vpv.VisualProjectMedia.IsNotNull())
                {
                    foreach (var media in vpv.VisualProjectMedia)
                    {
                        //Transform the sended media from base64 and send to sharepoint
                        media.MediaUrl = new SharepointProxy().AddMediaFile(
                            new Base64file(media.MediaFile64, media.MediaUrl));

                        //Get the media source from the sended name for each media
                        media.MediaSourceId = MasterDefinitions
                                              .GetMaster("MEDIA_SOURCE", media.MediaSource).MasterId;

                        //Set MediaTypeId depending of the media type sended
                        var mime = ImageHelper.URLGetMime(media.MediaUrl);
                        if (mime.StartsWith("image/"))
                        {
                            media.MediaTypeId = MasterDefinitions.GetMaster("MEDIA_TYPE", "IMAGE").MasterId;
                        }
                        else
                        {
                            media.MediaTypeId = MasterDefinitions.GetMaster("MEDIA_TYPE", "VIDEO").MasterId;
                        }
                    }
                }
                business.ViewModel = vpv;
                business.Execute("Visualization.VP.Save");
            }

            if (vovs.IsNotNull())
            {
                var business = new VisualizationBusinessContext();

                business.ViewModel = vpv;
                foreach (var vov in vovs)
                {
                    vov.LocationTypeId = MasterDefinitions.GetMaster("UNDEFINED").MasterId;
                    if (vov.VisualOutputId == -1)
                    {
                        business.OutputId = vov.OutputId.Value;
                    }
                    else
                    {
                        business.VisualOutputId = vov.VisualOutputId;
                        business.OutputId       = business
                                                  .VisualOutputGet(vov.VisualOutputId)
                                                  .VisualOutputVersions
                                                  .First()
                                                  .OutputYearPlan
                                                  .OutputId;
                    }
                    business.Load(IDBContext.Current.Operation);
                    vov.LocationTypeId   = MasterDefinitions.GetMasterByName("VO_LOCATION_TYPE", vov.LocationType).MasterId;
                    vov.DeliveryStatusId = MasterDefinitions.GetMasterByName("VO_DELIVERY_STATUS", vov.DeliveryStatus).MasterId;
                    business.ViewModel   = vov;

                    if (vov.VisualOutputMedia.IsNotNull())
                    {
                        foreach (var media in vov.VisualOutputMedia)
                        {
                            //Transform the sended media from base64 and send to sharepoint
                            media.MediaUrl = new SharepointProxy().AddMediaFile(
                                new Base64file(media.MediaFile64, media.MediaUrl));

                            //Get the media source from the sended name for each media
                            media.MediaSourceId = MasterDefinitions
                                                  .GetMaster("MEDIA_SOURCE", media.MediaSource).MasterId;
                            //get the history status from given information
                            media.MediaHistoryStatusId = MasterDefinitions.GetMasterByName(
                                "VO_DELIVERY_STATUS", media.MediaHistoryStatus).MasterId;

                            //Set MediaTypeId depending of the media type sended
                            var mime = ImageHelper.URLGetMime(media.MediaUrl);
                            if (mime.StartsWith("image/"))
                            {
                                media.MediaTypeId = MasterDefinitions.GetMaster("MEDIA_TYPE", "IMAGE").MasterId;
                            }
                            else
                            {
                                media.MediaTypeId = MasterDefinitions.GetMaster("MEDIA_TYPE", "VIDEO").MasterId;
                            }
                        }
                    }
                    business.Execute("Visualization.VO.Save");
                }
            }
        }