private Templ.Domain.DTO.ServiceExport.DTO_Template GetTemplate()
        {
            //View.GetCurrentVersion()
            Templ.Domain.DTO.ServiceExport.DTO_Template Template = new Templ.Domain.DTO.ServiceExport.DTO_Template();

            Templ.Domain.DTO.Management.DTO_EditTemplateVersion CurVers = View.GetCurrentVersion();

            Template.Name       = CurVers.TemplateName;
            Template.TemplateId = CurVers.IdTemplate;
            Template.VersionId  = CurVers.Id;

            Template.Body           = new Templ.Domain.DTO.ServiceExport.DTO_ElementText();
            Template.Body.Id        = CurVers.Body.Data.Id;
            Template.Body.Alignment = CurVers.Body.Data.Alignment;
            Template.Body.IsHTML    = CurVers.Body.Data.IsHTML;
            Template.Body.Text      = CurVers.Body.Data.Text;

            Template.Header = convertHeaderFooter(CurVers.HeaderLeft.Data, CurVers.HeaderCenter.Data, CurVers.HeaderRight.Data, Template.TemplateId, Template.VersionId);
            Template.Footer = convertHeaderFooter(CurVers.FooterLeft.Data, CurVers.FooterCenter.Data, CurVers.FooterRight.Data, Template.TemplateId, Template.VersionId);

            Template.Settings = convertSettings(CurVers.Setting.Data, Template.TemplateId, Template.VersionId);

            Template.Signatures = convertSignatures(CurVers.Signatures, Template.TemplateId, Template.VersionId);

            //Rivedere!!!
            Template.UseSkinHeaderFooter = false;

            return(Template);
        }
        public void InitView()
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
                return;
            }
            else
            {
                String backurl = View.PreloadBackUrl;
                if (!String.IsNullOrEmpty(backurl))
                {
                    View.SetBackUrl(backurl);
                }

                //BindVersion(); //Carica la versione corretta ed imposta gli ID Template e ID Version!


                Int32 idUser      = UserContext.CurrentUserID;
                Int32 idCommunity = 0;
                Int32 idModule    = ServiceManagement.ServiceModuleID(); // Service.ServiceModuleID();
                Int64 idTemplate  = View.TemplateId;
                Int64 idVersion   = View.VersionId;

                //I permessi sono controllati direttamente dal service.
                Templ.Domain.DTO.Management.DTO_EditTemplateVersion Version = null;

                //Carico il DTO.
                if (View.IsAdvancedEdit)
                {
                    Version = this.ServiceManagement.VersionGetEditAdvance(idTemplate, idVersion);
                }
                else
                {
                    Version = this.ServiceManagement.VersionGetEdit(idTemplate, idVersion);
                }



                Templ.ModuleDocTemplate.ActionType action = Templ.ModuleDocTemplate.ActionType.GenericError;
                if (Version == null || Version.Id <= 0)
                {
                    action = Templ.ModuleDocTemplate.ActionType.GenericError;
                    View.DisplayNoVersion();
                    return;
                }
                else    //Il DTO non sarà MAI vuoto, ma al massimo contiene eventuali errori: Templ.Domain.DTO.Management.VersionEditError
                {
                    //String backurl = "";

                    if (Version.Error == Templ.Domain.DTO.Management.VersionEditError.NoPremission)
                    {
                        action = Templ.ModuleDocTemplate.ActionType.NoPermission;
                        View.DisplayNoPermission(idCommunity, idModule);
                    }
                    else if (Version.Error == Templ.Domain.DTO.Management.VersionEditError.none && Version.IdTemplate > 0 && Version.Id > 0)
                    {
                        //backurl = rootObject.List(idTemplate);
                        View.LoadAvailableServices(Version.Services);

                        View.SetCurrentVersion(Version);

                        String toListUrl = lm.Comol.Core.DomainModel.DocTemplateVers.rootObject.List(idTemplate);
                        if (!String.IsNullOrEmpty(toListUrl))
                        {
                            View.SetBackToListUrl(toListUrl);
                        }

                        //String toPreviewUrl = lm.Comol.Core.DomainModel.DocTemplateVers.rootObject.PreviewTemplate(idTemplate, idVersion, false);
                        //if (!String.IsNullOrEmpty(toPreviewUrl))
                        //    View.SetPreviewUrl(toPreviewUrl);

                        idVersion  = Version.Id;
                        idTemplate = Version.IdTemplate;
                        action     = Templ.ModuleDocTemplate.ActionType.Edit;
                    }
                    else
                    {
                        //backurl = rootObject.List();   //???

                        action     = Templ.ModuleDocTemplate.ActionType.GenericError;
                        idVersion  = 0;
                        idTemplate = 0;
                        View.ShowError(Version.Error);
                    }

                    View.SendUserAction(idCommunity, idModule, idTemplate, action);
                }
            }
        }
        public void UpdateCurrentData()
        {
            //Templ.Domain.DTO.Management.DTO_EditTemplateVersion vrs = View.GetCurrentVersion();
            //Int64 Id = vrs.Id;

            //BREAK PER TEST!!!
            lm.Comol.Core.DomainModel.DocTemplateVers.Domain.DTO.Management.DTO_EditTemplateVersion CurrentVersion = View.GetCurrentVersion();
            CurrentVersion.HeaderCenter = null;
            CurrentVersion.HeaderLeft   = null;
            CurrentVersion.HeaderRight  = null;

            CurrentVersion.FooterCenter = null;
            CurrentVersion.FooterLeft   = null;
            CurrentVersion.FooterRight  = null;

            this.ServiceManagement.VersionUpdate(CurrentVersion);

            this.InitView();
        }