Esempio n. 1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3PC_SCTwV_1217 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue      = new FR_Guid();
            var defaultLanguages = ORM_CMN_Language.Query.Search(Connection, Transaction, new ORM_CMN_Language.Query
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID
            });
            ORM_CMN_PRO_CUS_Customization_Template templateToSave = new ORM_CMN_PRO_CUS_Customization_Template();
            templateToSave.Load(Connection, Transaction, Parameter.CustomizationTemplateID);
            if (templateToSave == null || templateToSave.CMN_PRO_CUS_Customization_TemplateID == Guid.Empty)
            {
                templateToSave.CMN_PRO_CUS_Customization_TemplateID = Parameter.CustomizationTemplateID;
            }

            templateToSave.CustomizationTemplate_Name        = new Dict(ORM_CMN_PRO_CUS_Customization_Template.TableName);
            templateToSave.CustomizationTemplate_Description = new Dict(ORM_CMN_PRO_CUS_Customization_Template.TableName);
            templateToSave.IsDeleted    = false;
            templateToSave.Tenant_RefID = securityTicket.TenantID;
            templateToSave.Save(Connection, Transaction);


            foreach (var lang in defaultLanguages)
            {
                templateToSave.CustomizationTemplate_Name.UpdateEntry(lang.CMN_LanguageID, Parameter.CustomizationTemplateName);
                templateToSave.CustomizationTemplate_Description.UpdateEntry(lang.CMN_LanguageID, Parameter.CustomizationTemplateDescription);
            }
            templateToSave.Save(Connection, Transaction);

            foreach (var templateVariant in Parameter.CustomizationTemplateVariants)
            {
                ORM_CMN_PRO_CUS_Customization_Variant_Template templateVariantToSave = new ORM_CMN_PRO_CUS_Customization_Variant_Template();
                templateVariantToSave.Load(Connection, Transaction, templateVariant.CustomizationTemplateVariantID);

                if (templateVariantToSave == null || templateVariantToSave.CMN_PRO_CUS_Customization_Variant_TemplateID == Guid.Empty)
                {
                    templateVariantToSave.CMN_PRO_CUS_Customization_Variant_TemplateID = templateVariant.CustomizationTemplateVariantID;
                }

                templateVariantToSave.Customization_Template_RefID      = Parameter.CustomizationTemplateID;
                templateVariantToSave.CustomizationVariantTemplate_Name = new Dict(ORM_CMN_PRO_CUS_Customization_Variant_Template.TableName);
                templateVariantToSave.IsDeleted     = templateVariant.CustomizationTemplateVariantIsDeleted;
                templateVariantToSave.OrderSequence = templateVariant.CustomizationTemplateVariantOrderSequence;
                templateVariantToSave.Tenant_RefID  = securityTicket.TenantID;

                templateVariantToSave.Save(Connection, Transaction);


                foreach (var lang in defaultLanguages)
                {
                    templateVariantToSave.CustomizationVariantTemplate_Name.UpdateEntry(lang.CMN_LanguageID, templateVariant.CustomizationTemplateVariantName);
                }
                templateVariantToSave.Save(Connection, Transaction);
            }
            returnValue.Result = templateToSave.CMN_PRO_CUS_Customization_TemplateID;
            return(returnValue);

            #endregion UserCode
        }
Esempio n. 2
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3PC_SCaCTwVfP_1712[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue      = new FR_Guid();
            var defaultLanguages = ORM_CMN_Language.Query.Search(Connection, Transaction, new ORM_CMN_Language.Query
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID
            });
            foreach (var par in Parameter)
            {
                Guid templateID = par.TemplateRefID;

                if (par.SaveAsTemplate == true)
                {
                    templateID = Guid.NewGuid();
                }

                ORM_CMN_PRO_CUS_Customization customization = new ORM_CMN_PRO_CUS_Customization();
                customization.Load(Connection, Transaction, par.CustomizationID);
                if (customization.CMN_PRO_CUS_CustomizationID == Guid.Empty)
                {
                    customization.CMN_PRO_CUS_CustomizationID = par.CustomizationID;
                }
                customization.OrderSequence             = par.OrderSequence;
                customization.IsDeleted                 = par.IsDeleted;
                customization.Customization_Name        = new Dict(ORM_CMN_PRO_CUS_Customization.TableName);
                customization.Customization_Description = new Dict(ORM_CMN_PRO_CUS_Customization.TableName);
                if (templateID != Guid.Empty)
                {
                    customization.InstantiatedFrom_CustomizationTemplate_RefID = templateID;
                }
                customization.Product_RefID = par.ProductRefID;
                customization.Tenant_RefID  = securityTicket.TenantID;

                customization.Save(Connection, Transaction);

                foreach (var lang in defaultLanguages)
                {
                    customization.Customization_Name.UpdateEntry(lang.CMN_LanguageID, par.CustomizationName);
                    customization.Customization_Description.UpdateEntry(lang.CMN_LanguageID, par.CustomizationDescription);
                }
                customization.Save(Connection, Transaction);
                if (par.SaveAsTemplate == true)
                {
                    ORM_CMN_PRO_CUS_Customization_Template customizationTemplate = new ORM_CMN_PRO_CUS_Customization_Template();
                    customizationTemplate.Load(Connection, Transaction, templateID);
                    if (customizationTemplate.CMN_PRO_CUS_Customization_TemplateID == Guid.Empty)
                    {
                        customizationTemplate.CMN_PRO_CUS_Customization_TemplateID = templateID;
                    }
                    customizationTemplate.CustomizationTemplate_Description = new Dict(ORM_CMN_PRO_CUS_Customization_Template.TableName);
                    customizationTemplate.CustomizationTemplate_Name        = new Dict(ORM_CMN_PRO_CUS_Customization_Template.TableName);
                    customizationTemplate.IsDeleted    = false;
                    customizationTemplate.Tenant_RefID = securityTicket.TenantID;
                    customizationTemplate.Save(Connection, Transaction);
                    foreach (var lang in defaultLanguages)
                    {
                        customizationTemplate.CustomizationTemplate_Name.UpdateEntry(lang.CMN_LanguageID, par.TemplateName);
                        customizationTemplate.CustomizationTemplate_Description.UpdateEntry(lang.CMN_LanguageID, par.TemplateDescription);
                    }
                    customizationTemplate.Save(Connection, Transaction);
                }

                foreach (var customizationVariant in par.CustomizationVariants)
                {
                    ORM_CMN_PRO_CUS_Customization_Variant variantToSave = new ORM_CMN_PRO_CUS_Customization_Variant();
                    variantToSave.Load(Connection, Transaction, customizationVariant.CustomizationVariantID);
                    if (variantToSave.CMN_PRO_CUS_Customization_VariantID == null || variantToSave.CMN_PRO_CUS_Customization_VariantID == Guid.Empty)
                    {
                        variantToSave.CMN_PRO_CUS_Customization_VariantID = customizationVariant.CustomizationVariantID;
                    }
                    variantToSave.Customization_RefID       = par.CustomizationID;
                    variantToSave.CustomizationVariant_Name = new Dict(ORM_CMN_PRO_CUS_Customization_Variant.TableName);
                    variantToSave.OrderSequence             = customizationVariant.CustomizationVariantOrderSequence;
                    variantToSave.IsDeleted    = customizationVariant.CustomizationVariantIsDeleted;
                    variantToSave.Tenant_RefID = securityTicket.TenantID;
                    variantToSave.Save(Connection, Transaction);
                    foreach (var lang in defaultLanguages)
                    {
                        variantToSave.CustomizationVariant_Name.UpdateEntry(lang.CMN_LanguageID, customizationVariant.CustomizationVariantName);
                    }
                    variantToSave.Save(Connection, Transaction);
                    if (par.SaveAsTemplate == true && customizationVariant.CustomizationVariantIsDeleted == false)
                    {
                        ORM_CMN_PRO_CUS_Customization_Variant_Template variantTemplate = new ORM_CMN_PRO_CUS_Customization_Variant_Template();
                        variantTemplate.CMN_PRO_CUS_Customization_Variant_TemplateID = Guid.NewGuid();
                        variantTemplate.Customization_Template_RefID      = templateID;
                        variantTemplate.CustomizationVariantTemplate_Name = new Dict(ORM_CMN_PRO_CUS_Customization_Variant_Template.TableName);;
                        variantTemplate.IsDeleted     = false;
                        variantTemplate.OrderSequence = customizationVariant.CustomizationVariantOrderSequence;
                        variantTemplate.Tenant_RefID  = securityTicket.TenantID;
                        variantTemplate.Save(Connection, Transaction);
                        foreach (var lang in defaultLanguages)
                        {
                            variantTemplate.CustomizationVariantTemplate_Name.UpdateEntry(lang.CMN_LanguageID, customizationVariant.CustomizationVariantName);
                        }
                        variantTemplate.Save(Connection, Transaction);
                    }
                }
            }


            return(returnValue);

            #endregion UserCode
        }