示例#1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5BD_SBIfII_1360 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guid();


            ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision();
            documentRevision.Load(Connection, Transaction, Parameter.DOC_DocumentRevisionID);
            if (documentRevision.DOC_DocumentRevisionID == Guid.Empty)
            {
                //Put your code here
                ORM_DOC_Structure structure = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query {
                    Structure_Header_RefID = Parameter.DOC_StructureHeaderRefID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false
                }).FirstOrDefault();

                if (structure == null)
                {
                    structure = new ORM_DOC_Structure();
                }

                structure.Structure_Header_RefID  = Parameter.DOC_StructureHeaderRefID;
                structure.CreatedBy_Account_RefID = securityTicket.AccountID;
                structure.Tenant_RefID            = securityTicket.TenantID;
                structure.Save(Connection, Transaction);

                ORM_DOC_Document document = new ORM_DOC_Document();
                document.Tenant_RefID = securityTicket.TenantID;
                document.Save(Connection, Transaction);

                ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure();

                documentStructure.Document_RefID        = document.DOC_DocumentID;
                documentStructure.Structure_RefID       = structure.DOC_StructureID;
                documentStructure.StructureHeader_RefID = Parameter.DOC_StructureHeaderRefID;
                documentStructure.Tenant_RefID          = securityTicket.TenantID;
                documentStructure.Save(Connection, Transaction);


                documentRevision.DOC_DocumentRevisionID = Parameter.DOC_DocumentRevisionID;
                documentRevision.Document_RefID         = document.DOC_DocumentID;
                documentRevision.File_Name           = Parameter.File_Name;
                documentRevision.File_Description    = Parameter.File_Description;
                documentRevision.File_SourceLocation = Parameter.File_SourceLocation;
                documentRevision.File_ServerLocation = Parameter.File_ServerLocation;
                documentRevision.File_MIMEType       = Parameter.File_MIMEType;
                documentRevision.File_Extension      = Parameter.File_Extension;
                documentRevision.File_Size_Bytes     = Parameter.File_Size_Bytes;
                documentRevision.UploadedByAccount   = securityTicket.AccountID;
                documentRevision.Tenant_RefID        = securityTicket.TenantID;
                documentRevision.Save(Connection, Transaction);

                returnValue.Result = documentRevision.DOC_DocumentRevisionID;
            }

            return(returnValue);

            #endregion UserCode
        }
示例#2
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5BD_SBI_1360 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            //Put your code here
            ORM_DOC_Structure structure = new ORM_DOC_Structure();
            structure.Structure_Header_RefID  = Parameter.DOC_StructureHeaderRefID;
            structure.CreatedBy_Account_RefID = securityTicket.AccountID;
            structure.Tenant_RefID            = securityTicket.TenantID;
            structure.Save(Connection, Transaction);

            ORM_DOC_Document document = new ORM_DOC_Document();
            document.Tenant_RefID = securityTicket.TenantID;
            document.Save(Connection, Transaction);

            ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure();
            documentStructure.Document_RefID        = document.DOC_DocumentID;
            documentStructure.Structure_RefID       = structure.DOC_StructureID;
            documentStructure.StructureHeader_RefID = Parameter.DOC_StructureHeaderRefID;
            documentStructure.Tenant_RefID          = securityTicket.TenantID;
            documentStructure.Save(Connection, Transaction);

            ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision();
            documentRevision.DOC_DocumentRevisionID = Parameter.DocumentID;
            documentRevision.Document_RefID         = document.DOC_DocumentID;
            documentRevision.File_Name           = Parameter.File_Name;
            documentRevision.File_Description    = Parameter.File_Description;
            documentRevision.File_SourceLocation = Parameter.File_SourceLocation;
            documentRevision.File_ServerLocation = Parameter.File_ServerLocation;
            documentRevision.File_MIMEType       = Parameter.File_MIMEType;
            documentRevision.File_Extension      = Parameter.File_Extension;
            documentRevision.File_Size_Bytes     = Parameter.File_Size_Bytes;
            documentRevision.UploadedByAccount   = securityTicket.AccountID;
            documentRevision.Tenant_RefID        = securityTicket.TenantID;
            documentRevision.Save(Connection, Transaction);

            returnValue.Result = documentRevision.DOC_DocumentRevisionID;

            return(returnValue);

            #endregion UserCode
        }
示例#3
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_SP_1614 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            var languageQuery = new ORM_CMN_Language.Query();
            languageQuery.Tenant_RefID = securityTicket.TenantID;
            languageQuery.IsDeleted    = false;
            var languages = ORM_CMN_Language.Query.Search(Connection, Transaction, languageQuery);

            var product = new ORM_CMN_PRO_Product();

            if (Parameter.ProductID == Guid.Empty)
            {
                #region ORM_CMN_PRO_Product

                product = new ORM_CMN_PRO_Product();
                product.CMN_PRO_ProductID                    = Guid.NewGuid();
                product.ProductITL                           = String.Empty;
                product.IsCustomizable                       = Parameter.IsCustomizable;
                product.IsProduct_Article                    = true;
                product.IsProductAvailableForOrdering        = true;
                product.IsImportedFromExternalCatalog        = false;
                product.IsProductForInternalDistributionOnly = Parameter.IsProductForInternalDistribution;
                if (Parameter.CatalogRefID != null && Parameter.CatalogRefID != Guid.Empty)
                {
                    product.IfImportedFromExternalCatalog_CatalogSubscription_RefID = Parameter.CatalogRefID;
                }
                product.Product_Name        = new Dict(ORM_CMN_PRO_Product.TableName);
                product.Product_Description = new Dict(ORM_CMN_PRO_Product.TableName);

                product.PackageInfo_RefID = Guid.NewGuid();

                product.Creation_Timestamp = DateTime.Now;
                product.Tenant_RefID       = securityTicket.TenantID;
                product.IsDeleted          = Parameter.IsDeleted;



                product.Save(Connection, Transaction);

                #endregion
            }
            else
            {
                product.Load(Connection, Transaction, Parameter.ProductID);
            }
            if (Parameter.Document_ID != null && Parameter.Document_ID != Guid.Empty)
            {
                ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header();
                if (Parameter.DocumentStructureHeaderID == Guid.Empty)
                {
                    structureHeader.Label        = "Product picture";
                    structureHeader.Tenant_RefID = securityTicket.TenantID;
                    structureHeader.Save(Connection, Transaction);
                    product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID;
                }
                ORM_DOC_Structure structure = new ORM_DOC_Structure();
                if (Parameter.DocumentStructureHeaderID == Guid.Empty)
                {
                    structure.Label = "Product picture";
                    structure.Structure_Header_RefID  = structureHeader.DOC_Structure_HeaderID;
                    structure.CreatedBy_Account_RefID = securityTicket.AccountID;
                    structure.Tenant_RefID            = securityTicket.TenantID;
                    structure.Save(Connection, Transaction);
                }
                ORM_DOC_Document document = new ORM_DOC_Document();
                document.DOC_DocumentID = Parameter.Document_ID;
                document.Tenant_RefID   = securityTicket.TenantID;
                document.Save(Connection, Transaction);
                var documentStructureID = structure.DOC_StructureID;
                var assignmentID        = Guid.Empty;
                List <ORM_DOC_Document_2_Structure> existingDocumentStructure = new List <ORM_DOC_Document_2_Structure>();
                if (Parameter.DocumentStructureHeaderID != Guid.Empty)
                {
                    existingDocumentStructure = ORM_DOC_Document_2_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Document_2_Structure.Query()
                    {
                        StructureHeader_RefID = Parameter.DocumentStructureHeaderID
                    });
                }
                ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure();
                if (existingDocumentStructure != null && existingDocumentStructure.Count() > 0)
                {
                    existingDocumentStructure.First().Document_RefID = document.DOC_DocumentID;
                    existingDocumentStructure.First().Save(Connection, Transaction);
                }
                else
                {
                    documentStructure.Document_RefID        = document.DOC_DocumentID;
                    documentStructure.Structure_RefID       = documentStructureID;
                    documentStructure.StructureHeader_RefID = structure.Structure_Header_RefID;
                    documentStructure.Tenant_RefID          = securityTicket.TenantID;
                    documentStructure.Save(Connection, Transaction);
                }
            }

            #region ORM_CMN_PRO_Product

            product.Product_Number = Parameter.ProductNumber;

            foreach (var language in languages)
            {
                product.Product_Name.UpdateEntry(language.CMN_LanguageID, Parameter.ProductName);
                product.Product_Description.UpdateEntry(language.CMN_LanguageID, Parameter.Description);
            }

            product.ProductType_RefID = Guid.Empty;

            product.IsPlaceholderArticle   = Parameter.IsDummy;
            product.IsCustomizable         = Parameter.IsCustomizable;
            product.ProductSuccessor_RefID = Guid.Empty;
            product.IsDeleted = Parameter.IsDeleted;
            product.Save(Connection, Transaction);



            #endregion

            #region Variant
            //Create default varient
            var defaultVarient = new ORM_CMN_PRO_Product_Variant();
            defaultVarient.CMN_PRO_Product_VariantID = Guid.NewGuid();
            defaultVarient.CMN_PRO_Product_RefID     = product.CMN_PRO_ProductID;
            defaultVarient.IsStandardProductVariant  = true;
            defaultVarient.Tenant_RefID = securityTicket.TenantID;
            defaultVarient.VariantName  = new Dict(ORM_CMN_PRO_Product_Variant.TableName);


            foreach (var language in languages)
            {
                defaultVarient.VariantName.UpdateEntry(language.CMN_LanguageID, String.Empty);
            }

            defaultVarient.Save(Connection, Transaction);
            #endregion

            #region Customization
            if (Parameter.IsCustomizable == false && Parameter.ProductID != Guid.Empty)
            {
                var customizations = ORM_CMN_PRO_CUS_Customization.Query.Search(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization.Query()
                {
                    Product_RefID = Parameter.ProductID
                });
                foreach (var customization in customizations)
                {
                    ORM_CMN_PRO_CUS_Customization_Variant.Query.SoftDelete(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization_Variant.Query()
                    {
                        Customization_RefID = customization.CMN_PRO_CUS_CustomizationID
                    });
                }
                ORM_CMN_PRO_CUS_Customization.Query.SoftDelete(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization.Query()
                {
                    Product_RefID = Parameter.ProductID
                });
            }
            #endregion

            returnValue.Result = product.CMN_PRO_ProductID;
            return(returnValue);

            #endregion UserCode
        }
示例#4
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_ARCH_UD_1326 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            //Put your code here

            var documentUpload = new ORM_DOC_Document();
            documentUpload.DOC_DocumentID     = Guid.NewGuid();
            documentUpload.IsDeleted          = false;
            documentUpload.Creation_Timestamp = DateTime.Now;
            documentUpload.Tenant_RefID       = securityTicket.TenantID;
            documentUpload.Alias = Parameter.Receiver;
            if (Parameter.Mime.Contains("pdf"))
            {
                documentUpload.PrimaryType = "Abrechnungen";
                documentUpload.GlobalPropertyMatchingID = "pdf mm";
            }
            else
            {
                switch (Parameter.Mime)
                {
                case "Application/Edifact":
                    documentUpload.PrimaryType = "EDIFACT";
                    documentUpload.GlobalPropertyMatchingID = Parameter.ContractID.ToString();
                    break;

                case "Application/Edifact_Error":
                    documentUpload.PrimaryType = "HIP error import";
                    break;

                default:
                    documentUpload.PrimaryType = "Excel report";
                    break;
                }
            }

            documentUpload.Save(Connection, Transaction);


            var documentUploadRevision = new ORM_DOC_DocumentRevision();
            documentUploadRevision.DOC_DocumentRevisionID = Guid.NewGuid();
            documentUploadRevision.Creation_Timestamp     = DateTime.Now;
            documentUploadRevision.File_MIMEType          = Parameter.Mime;
            documentUploadRevision.IsDeleted           = false;
            documentUploadRevision.Tenant_RefID        = securityTicket.TenantID;
            documentUploadRevision.Document_RefID      = documentUpload.DOC_DocumentID;
            documentUploadRevision.UploadedByAccount   = securityTicket.AccountID;
            documentUploadRevision.File_ServerLocation = Parameter.DocumentID.ToString();
            documentUploadRevision.File_Name           = Parameter.DocumentName;
            documentUploadRevision.File_Description    = Parameter.Description;
            documentUploadRevision.Save(Connection, Transaction);

            var usrAccount = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
            {
                IsDeleted     = false,
                Tenant_RefID  = securityTicket.TenantID,
                USR_AccountID = securityTicket.AccountID
            }).Single();
            Guid DocStructureGuid = Guid.NewGuid();
            var  docStructureQ    = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query()
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID,
                Label        = usrAccount.BusinessParticipant_RefID.ToString()
            }).SingleOrDefault();
            if (docStructureQ == null)
            {
                var docStructure = new ORM_DOC_Structure();
                docStructure.DOC_StructureID    = DocStructureGuid;
                docStructure.IsDeleted          = false;
                docStructure.Tenant_RefID       = securityTicket.TenantID;
                docStructure.Label              = usrAccount.BusinessParticipant_RefID.ToString();
                docStructure.Creation_Timestamp = DateTime.Now;
                docStructure.Save(Connection, Transaction);
            }
            else
            {
                DocStructureGuid = docStructureQ.DOC_StructureID;
            }

            var doc2docStructure = new ORM_DOC_Document_2_Structure();
            doc2docStructure.IsDeleted          = false;
            doc2docStructure.Tenant_RefID       = securityTicket.TenantID;
            doc2docStructure.Creation_Timestamp = DateTime.Now;
            doc2docStructure.AssignmentID       = Guid.NewGuid();
            doc2docStructure.Document_RefID     = documentUpload.DOC_DocumentID;
            doc2docStructure.Structure_RefID    = DocStructureGuid;
            doc2docStructure.Save(Connection, Transaction);

            Archive_Model archiveModel = new Archive_Model();
            archiveModel.id                = documentUpload.DOC_DocumentID.ToString();
            archiveModel.documentId        = Parameter.DocumentID.ToString();
            archiveModel.filedate          = Parameter.DocumentDate.Date;
            archiveModel.datestring        = DateTime.Now.ToString("dd.MM.yyyy");
            archiveModel.filetype          = documentUpload.PrimaryType;
            archiveModel.description       = documentUploadRevision.File_Description;
            archiveModel.recipient         = documentUpload.Alias;
            archiveModel.creationtimestamp = new DateTime(Parameter.DocumentDate.Year, Parameter.DocumentDate.Month, Parameter.DocumentDate.Day, Parameter.DocumentDate.Hour, Parameter.DocumentDate.Minute, 0);
            Add_Item_to_Archive.Import_Archive_Item_to_ElasticDB(archiveModel, securityTicket.TenantID.ToString());

            return(returnValue);

            #endregion UserCode
        }
示例#5
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5AR_SA_1614 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            var languageQuery = new ORM_CMN_Language.Query();
            languageQuery.Tenant_RefID = securityTicket.TenantID;
            languageQuery.IsDeleted    = false;
            var languages = ORM_CMN_Language.Query.Search(Connection, Transaction, languageQuery);

            var product = new ORM_CMN_PRO_Product();

            if (Parameter.ArticleID == Guid.Empty)
            {
                #region ORM_CMN_PRO_Product

                product = new ORM_CMN_PRO_Product();
                product.CMN_PRO_ProductID = Guid.NewGuid();
                product.ProductITL        = Guid.NewGuid().ToString();

                product.IsProduct_Article             = true;
                product.IsProductAvailableForOrdering = true;
                product.IsImportedFromExternalCatalog = false;

                product.Product_Name        = new Dict(ORM_CMN_PRO_Product.TableName);
                product.Product_Description = new Dict(ORM_CMN_PRO_Product.TableName);

                product.PackageInfo_RefID = Guid.NewGuid();

                product.Creation_Timestamp = DateTime.Now;
                product.Tenant_RefID       = securityTicket.TenantID;
                product.IsDeleted          = Parameter.IsDeleted;


                #region Product picture

                if (Parameter.Image != null && Parameter.Image.Document_ID != Guid.Empty)
                {
                    ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header();
                    structureHeader.Label        = "Product picture";
                    structureHeader.Tenant_RefID = securityTicket.TenantID;
                    structureHeader.Save(Connection, Transaction);

                    ORM_DOC_Structure structure = new ORM_DOC_Structure();
                    structure.Label = "Product picture";
                    structure.Structure_Header_RefID  = structureHeader.DOC_Structure_HeaderID;
                    structure.CreatedBy_Account_RefID = securityTicket.AccountID;
                    structure.Tenant_RefID            = securityTicket.TenantID;
                    structure.Save(Connection, Transaction);

                    ORM_DOC_Document document = new ORM_DOC_Document();
                    document.DOC_DocumentID = Parameter.Image.Document_ID;
                    document.Tenant_RefID   = securityTicket.TenantID;
                    document.Save(Connection, Transaction);

                    ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure();
                    documentStructure.Document_RefID        = document.DOC_DocumentID;
                    documentStructure.Structure_RefID       = structure.DOC_StructureID;
                    documentStructure.StructureHeader_RefID = structureHeader.DOC_Structure_HeaderID;
                    documentStructure.Tenant_RefID          = securityTicket.TenantID;
                    documentStructure.Save(Connection, Transaction);

                    ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision();
                    documentRevision.Document_RefID      = document.DOC_DocumentID;
                    documentRevision.Revision            = 1;
                    documentRevision.IsLocked            = false;
                    documentRevision.IsLastRevision      = true;
                    documentRevision.UploadedByAccount   = securityTicket.AccountID;
                    documentRevision.File_Name           = Parameter.Image.File_Name;
                    documentRevision.File_Description    = Parameter.Image.File_Description;
                    documentRevision.File_SourceLocation = Parameter.Image.File_Source_Location;
                    documentRevision.File_ServerLocation = Parameter.Image.File_Server_Location;
                    documentRevision.File_MIMEType       = Parameter.Image.File_MimeType;
                    documentRevision.File_Extension      = Parameter.Image.File_Extension;
                    documentRevision.File_Size_Bytes     = Parameter.Image.File_Size_Bytes;
                    documentRevision.Tenant_RefID        = securityTicket.TenantID;
                    documentRevision.Save(Connection, Transaction);

                    //add relation for product picture with product
                    product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID;
                }

                #endregion

                product.Save(Connection, Transaction);

                #endregion
            }
            else
            {
                product.Load(Connection, Transaction, Parameter.ArticleID);

                #region Product picture

                if (Parameter.Image != null && Parameter.Image.Document_ID != Guid.Empty)
                {
                    ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header();
                    structureHeader.Label        = "Product picture";
                    structureHeader.Tenant_RefID = securityTicket.TenantID;
                    structureHeader.Save(Connection, Transaction);

                    ORM_DOC_Structure structure = new ORM_DOC_Structure();
                    structure.Label = "Product picture";
                    structure.Structure_Header_RefID  = structureHeader.DOC_Structure_HeaderID;
                    structure.CreatedBy_Account_RefID = securityTicket.AccountID;
                    structure.Tenant_RefID            = securityTicket.TenantID;
                    structure.Save(Connection, Transaction);

                    ORM_DOC_Document document = new ORM_DOC_Document();
                    document.DOC_DocumentID = Parameter.Image.Document_ID;
                    document.Tenant_RefID   = securityTicket.TenantID;
                    document.Save(Connection, Transaction);

                    ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure();
                    documentStructure.Document_RefID        = document.DOC_DocumentID;
                    documentStructure.Structure_RefID       = structure.DOC_StructureID;
                    documentStructure.StructureHeader_RefID = structureHeader.DOC_Structure_HeaderID;
                    documentStructure.Tenant_RefID          = securityTicket.TenantID;
                    documentStructure.Save(Connection, Transaction);

                    ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision();
                    documentRevision.Document_RefID      = document.DOC_DocumentID;
                    documentRevision.Revision            = 1;
                    documentRevision.IsLocked            = false;
                    documentRevision.IsLastRevision      = true;
                    documentRevision.UploadedByAccount   = securityTicket.AccountID;
                    documentRevision.File_Name           = Parameter.Image.File_Name;
                    documentRevision.File_Description    = Parameter.Image.File_Description;
                    documentRevision.File_SourceLocation = Parameter.Image.File_Source_Location;
                    documentRevision.File_ServerLocation = Parameter.Image.File_Server_Location;
                    documentRevision.File_MIMEType       = Parameter.Image.File_MimeType;
                    documentRevision.File_Extension      = Parameter.Image.File_Extension;
                    documentRevision.File_Size_Bytes     = Parameter.Image.File_Size_Bytes;
                    documentRevision.Tenant_RefID        = securityTicket.TenantID;
                    documentRevision.Save(Connection, Transaction);

                    //add relation for product picture with product
                    product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID;
                }
                else
                {
                    //  if (Parameter.Image.IsForDeleting)  if product image has to be deleted
                }

                #endregion
            }


            #region ORM_CMN_PRO_Product

            product.Product_Number = Parameter.ProductNumber;

            foreach (var language in languages)
            {
                product.Product_Name.UpdateEntry(language.CMN_LanguageID, Parameter.ArticleName);
                product.Product_Description.UpdateEntry(language.CMN_LanguageID, Parameter.Description);
            }

            product.ProductType_RefID = Guid.Empty;

            product.IsPlaceholderArticle = Parameter.IsDummy;

            product.ProductSuccessor_RefID = Guid.Empty;
            product.IsDeleted = Parameter.IsDeleted;
            product.Save(Connection, Transaction);



            #endregion


            //#region ORM_CMN_PRO_Product_2_ProductCode

            //var product2CodeQuery = new ORM_CMN_PRO_Product_2_ProductCode.Query();
            //product2CodeQuery.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID;
            //product2CodeQuery.Tenant_RefID = securityTicket.TenantID;
            //product2CodeQuery.IsDeleted = false;

            //var productCodeAssignment = ORM_CMN_PRO_Product_2_ProductCode.Query.Search(Connection, Transaction, product2CodeQuery).SingleOrDefault();

            //if (productCodeAssignment == null)
            //{
            //    #region ORM_CMN_PRO_ProductCode
            #region Variant
            //Create default varient
            var defaultVarient = new ORM_CMN_PRO_Product_Variant();
            defaultVarient.CMN_PRO_Product_VariantID = Guid.NewGuid();
            defaultVarient.CMN_PRO_Product_RefID     = product.CMN_PRO_ProductID;
            defaultVarient.IsStandardProductVariant  = true;
            defaultVarient.Tenant_RefID = securityTicket.TenantID;
            defaultVarient.VariantName  = new Dict(ORM_CMN_PRO_Product_Variant.TableName);


            foreach (var language in languages)
            {
                defaultVarient.VariantName.UpdateEntry(language.CMN_LanguageID, String.Empty);
            }

            defaultVarient.Save(Connection, Transaction);
            #endregion

            returnValue.Result = product.CMN_PRO_ProductID;
            return(returnValue);

            #endregion UserCode
        }
示例#6
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_ARCH_UCPD_0950 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //Put your code here
            if (Parameter.PlannedActionID == Guid.Empty)
            {
                return(returnValue);
            }

            var documentUpload = ORM_DOC_Document.Query.Search(Connection, Transaction, new ORM_DOC_Document.Query()
            {
                Tenant_RefID = securityTicket.TenantID,
                IsDeleted    = false,
                Alias        = Parameter.PlannedActionID.ToString()
            }).SingleOrDefault();

            var documentUploadRevision = new ORM_DOC_DocumentRevision();
            documentUploadRevision.Revision = 0;

            if (documentUpload == null)
            {
                documentUpload = new ORM_DOC_Document();
                documentUpload.Tenant_RefID             = securityTicket.TenantID;
                documentUpload.Alias                    = Parameter.PlannedActionID.ToString();
                documentUpload.GlobalPropertyMatchingID = "case pdf";

                documentUpload.Save(Connection, Transaction);
            }
            else
            {
                var previousDocumentUploadRevision = ORM_DOC_DocumentRevision.Query.Search(Connection, Transaction, new ORM_DOC_DocumentRevision.Query()
                {
                    IsLastRevision = true,
                    Tenant_RefID   = securityTicket.TenantID,
                    IsDeleted      = false,
                    Document_RefID = documentUpload.DOC_DocumentID
                }).SingleOrDefault();

                previousDocumentUploadRevision.IsLastRevision         = false;
                previousDocumentUploadRevision.Modification_Timestamp = DateTime.Now;

                previousDocumentUploadRevision.Save(Connection, Transaction);

                documentUploadRevision.Revision = previousDocumentUploadRevision.Revision + 1;
            }

            documentUploadRevision.File_MIMEType       = Parameter.Mime;
            documentUploadRevision.Tenant_RefID        = securityTicket.TenantID;
            documentUploadRevision.Document_RefID      = documentUpload.DOC_DocumentID;
            documentUploadRevision.UploadedByAccount   = securityTicket.AccountID;
            documentUploadRevision.File_ServerLocation = Parameter.DocumentID.ToString();
            documentUploadRevision.File_Name           = Parameter.DocumentName;
            documentUploadRevision.File_Description    = Parameter.CaseID.ToString();
            documentUploadRevision.IsLastRevision      = true;

            documentUploadRevision.Save(Connection, Transaction);

            var docStructure = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query()
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID,
                Label        = Parameter.CaseID.ToString()
            }).FirstOrDefault();

            if (docStructure == null)
            {
                docStructure = new ORM_DOC_Structure();
                docStructure.Tenant_RefID = securityTicket.TenantID;
                docStructure.Label        = Parameter.CaseID.ToString();

                docStructure.Save(Connection, Transaction);
            }

            var doc2docStructure = new ORM_DOC_Document_2_Structure();
            doc2docStructure.Tenant_RefID    = securityTicket.TenantID;
            doc2docStructure.Document_RefID  = documentUpload.DOC_DocumentID;
            doc2docStructure.Structure_RefID = docStructure.DOC_StructureID;

            doc2docStructure.Save(Connection, Transaction);

            #region Case property
            var caseProperty = ORM_HEC_CAS_Case_UniversalProperty.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case_UniversalProperty.Query()
            {
                GlobalPropertyMatchingID = ECaseProperty.ReportDownloaded.Value(),
                Tenant_RefID             = securityTicket.TenantID,
                IsValue_String           = true,
                IsDeleted    = false,
                PropertyName = "Case Report Downloaded"
            }).SingleOrDefault();

            if (caseProperty == null)
            {
                caseProperty = new ORM_HEC_CAS_Case_UniversalProperty();
                caseProperty.GlobalPropertyMatchingID = ECaseProperty.ReportDownloaded.Value();
                caseProperty.IsValue_String           = true;
                caseProperty.Modification_Timestamp   = DateTime.Now;
                caseProperty.PropertyName             = "Case Report Downloaded";
                caseProperty.Tenant_RefID             = securityTicket.TenantID;

                caseProperty.Save(Connection, Transaction);
            }

            var casePropertyValue = ORM_HEC_CAS_Case_UniversalPropertyValue.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case_UniversalPropertyValue.Query()
            {
                HEC_CAS_Case_RefID = Parameter.CaseID,
                HEC_CAS_Case_UniversalProperty_RefID = caseProperty.HEC_CAS_Case_UniversalPropertyID,
                Tenant_RefID = securityTicket.TenantID,
                IsDeleted    = false
            }).SingleOrDefault();

            if (casePropertyValue == null)
            {
                casePropertyValue = new ORM_HEC_CAS_Case_UniversalPropertyValue();
                casePropertyValue.HEC_CAS_Case_RefID = Parameter.CaseID;
                casePropertyValue.HEC_CAS_Case_UniversalProperty_RefID = caseProperty.HEC_CAS_Case_UniversalPropertyID;
                casePropertyValue.Tenant_RefID = securityTicket.TenantID;
            }

            casePropertyValue.Modification_Timestamp = DateTime.Now;
            if (casePropertyValue.Value_String == null)
            {
                casePropertyValue.Value_String = Parameter.PlannedActionID.ToString();
            }
            else
            {
                if (!casePropertyValue.Value_String.Contains(Parameter.PlannedActionID.ToString()))
                {
                    casePropertyValue.Value_String += ";" + Parameter.PlannedActionID.ToString();
                }
            }

            casePropertyValue.Save(Connection, Transaction);
            #endregion

            if (!Parameter.IsBackgroundTask)
            {
                #region Update elastic
                try
                {
                    var settlement = Get_Settlement.GetSettlementForID(Parameter.PlannedActionID.ToString(), securityTicket);
                    settlement.is_report_downloaded = true;

                    Add_new_Settlement.Import_Settlement_to_ElasticDB(new List <Settlement_Model>()
                    {
                        settlement
                    }, securityTicket.TenantID.ToString());

                    var patientDetails = Retrieve_Patients.Get_PatientDetaiForID(Parameter.PlannedActionID.ToString(), securityTicket);
                    patientDetails.if_settlement_is_report_downloaded = true;

                    Add_New_Patient.ImportPatientDetailsToElastic(new List <PatientDetailViewModel>()
                    {
                        patientDetails
                    }, securityTicket.TenantID.ToString());
                }
                catch { }
            }

            #endregion

            return(returnValue);

            #endregion UserCode
        }
示例#7
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_ARCH_UPD_1434 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //Put your code here

            var documentUpload = new ORM_DOC_Document();
            documentUpload.DOC_DocumentID     = Guid.NewGuid();
            documentUpload.IsDeleted          = false;
            documentUpload.Creation_Timestamp = DateTime.Now;
            documentUpload.Tenant_RefID       = securityTicket.TenantID;
            documentUpload.Alias       = Parameter.RecepiantID.ToString();
            documentUpload.PrimaryType = Parameter.AmountNo.ToString();
            documentUpload.GlobalPropertyMatchingID = "pdf doc";
            documentUpload.Save(Connection, Transaction);


            var documentUploadRevision = new ORM_DOC_DocumentRevision();
            documentUploadRevision.DOC_DocumentRevisionID = Guid.NewGuid();
            documentUploadRevision.Creation_Timestamp     = DateTime.Now;
            documentUploadRevision.File_MIMEType          = Parameter.Mime;
            documentUploadRevision.IsDeleted           = false;
            documentUploadRevision.Tenant_RefID        = securityTicket.TenantID;
            documentUploadRevision.Document_RefID      = documentUpload.DOC_DocumentID;
            documentUploadRevision.UploadedByAccount   = securityTicket.AccountID;
            documentUploadRevision.File_ServerLocation = Parameter.DocumentID.ToString();
            documentUploadRevision.File_Name           = Parameter.DocumentName;
            documentUploadRevision.File_Description    = Parameter.Description;
            documentUploadRevision.Save(Connection, Transaction);

            var usrAccount = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
            {
                IsDeleted     = false,
                Tenant_RefID  = securityTicket.TenantID,
                USR_AccountID = securityTicket.AccountID
            }).Single();
            Guid DocStructureGuid = Guid.NewGuid();
            var  docStructureQ    = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query()
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID,
                Label        = usrAccount.BusinessParticipant_RefID.ToString()
            }).SingleOrDefault();
            if (docStructureQ == null)
            {
                var docStructure = new ORM_DOC_Structure();
                docStructure.DOC_StructureID    = DocStructureGuid;
                docStructure.IsDeleted          = false;
                docStructure.Tenant_RefID       = securityTicket.TenantID;
                docStructure.Label              = usrAccount.BusinessParticipant_RefID.ToString();
                docStructure.Creation_Timestamp = DateTime.Now;
                docStructure.Save(Connection, Transaction);
            }
            else
            {
                DocStructureGuid = docStructureQ.DOC_StructureID;
            }

            var doc2docStructure = new ORM_DOC_Document_2_Structure();
            doc2docStructure.IsDeleted          = false;
            doc2docStructure.Tenant_RefID       = securityTicket.TenantID;
            doc2docStructure.Creation_Timestamp = DateTime.Now;
            doc2docStructure.AssignmentID       = Guid.NewGuid();
            doc2docStructure.Document_RefID     = documentUpload.DOC_DocumentID;
            doc2docStructure.Structure_RefID    = DocStructureGuid;
            doc2docStructure.Save(Connection, Transaction);

            Receipt_Model receipt = new Receipt_Model();
            receipt.id             = documentUpload.DOC_DocumentID.ToString();
            receipt.documentID     = Parameter.DocumentID.ToString();
            receipt.filedate       = Parameter.DocumentDate;
            receipt.filedateString = Parameter.DocumentDate.ToString("dd.MM.yyyy");
            receipt.period         = Parameter.Description;
            receipt.periodDate     = Parameter.DocumentDate;
            receipt.amount         = Parameter.Amount;
            receipt.doctorID       = Parameter.RecepiantID.ToString();
            receipt.amountNo       = Parameter.AmountNo;
            receipt.isViewed       = false;

            Add_Item_to_Receipts.Import_Receipt_Item_to_ElasticDB(new List <Receipt_Model>()
            {
                receipt
            }, securityTicket.TenantID.ToString());

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5AS_SAP_1515 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Base();

            var defaultLanguages = ORM_CMN_Language.Query.Search(Connection, Transaction, new ORM_CMN_Language.Query
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID
            });
            List <P_L3AS_SAVP_0004> parameterVendorProduct  = new List <P_L3AS_SAVP_0004>();
            List <P_L3AS_SAVV_0040> parameterVendorVariants = new List <P_L3AS_SAVV_0040>();
            #region ImportCatalogProducts
            foreach (var productFromCatalog in Parameter.Products.Where(x => !string.IsNullOrEmpty(x.ProductITL)).ToList())
            {
                P_L5PR_IPfC_1648 importProductFromCatalogParameter = new P_L5PR_IPfC_1648();
                importProductFromCatalogParameter.Product             = new ProductsForImport();
                importProductFromCatalogParameter.Product.CatalogITL  = productFromCatalog.CatalogITL;
                importProductFromCatalogParameter.Product.Code        = productFromCatalog.Code;
                importProductFromCatalogParameter.Product.Custom      = productFromCatalog.Custom;
                importProductFromCatalogParameter.Product.Description = productFromCatalog.Description;
                importProductFromCatalogParameter.Product.Name        = productFromCatalog.Name;
                importProductFromCatalogParameter.Product.LongName    = productFromCatalog.LongName;
                importProductFromCatalogParameter.Product.ProductITL  = productFromCatalog.ProductITL;
                importProductFromCatalogParameter.Product.Variants    = new List <Variant>();
                foreach (var variant in productFromCatalog.Variants)
                {
                    importProductFromCatalogParameter.Product.Variants.Add(variant);
                }
                importProductFromCatalogParameter.Product.Customizations = new List <Customization>();

                if (productFromCatalog.Customizations != null)
                {
                    foreach (var customization in productFromCatalog.Customizations)
                    {
                        importProductFromCatalogParameter.Product.Customizations.Add(customization);
                    }
                }

                importProductFromCatalogParameter.Product.Vat = productFromCatalog.Vat;
                Guid productID = cls_Import_Product_from_Catalog.Invoke(Connection, Transaction, importProductFromCatalogParameter, securityTicket).Result;
                Parameter.Products.Where(x => x.ProductITL == productFromCatalog.ProductITL).ToList().ForEach(x => x.LocalProductID = productID);
            }
            #endregion import

            foreach (var parameterProduct in Parameter.Products)
            {
                ORM_CMN_PRO_Product productDB = new ORM_CMN_PRO_Product();

                #region loadProduct

                productDB.Load(Connection, Transaction, parameterProduct.LocalProductID);

                Guid originalProductId = productDB.CMN_PRO_ProductID;
                #endregion
                P_L3AS_GNoPiAfP_1512 parameterAssortmentProductExists = new P_L3AS_GNoPiAfP_1512();
                parameterAssortmentProductExists.AssortmentID = Parameter.AssortmentID;
                parameterAssortmentProductExists.ProductRefID = originalProductId;
                int numberOfProductsInAssortment = cls_Get_Number_of_Products_in_Assortment_for_ProductID.Invoke(Connection, Transaction, parameterAssortmentProductExists, securityTicket).Result.NumberOfProducts;

                if (numberOfProductsInAssortment == 0)
                {
                    #region SaveProductCopy
                    ORM_CMN_PRO_Product productCopyToCreate = new ORM_CMN_PRO_Product();

                    productCopyToCreate.CMN_PRO_ProductID                    = Guid.NewGuid();
                    productCopyToCreate.ProductITL                           = string.Empty;
                    productCopyToCreate.IsProduct_Article                    = true;
                    productCopyToCreate.IsProductAvailableForOrdering        = true;
                    productCopyToCreate.IsImportedFromExternalCatalog        = false;
                    productCopyToCreate.IsProductForInternalDistributionOnly = true;
                    productCopyToCreate.Product_Name                         = new Dict(ORM_CMN_PRO_Product.TableName);
                    productCopyToCreate.Product_Description                  = new Dict(ORM_CMN_PRO_Product.TableName);
                    productCopyToCreate.PackageInfo_RefID                    = Guid.NewGuid();
                    productCopyToCreate.Creation_Timestamp                   = DateTime.Now;
                    productCopyToCreate.Tenant_RefID                         = securityTicket.TenantID;
                    productCopyToCreate.IsDeleted = false;
                    productCopyToCreate.Save(Connection, Transaction);
                    productCopyToCreate.Product_Number = productDB.Product_Number;
                    foreach (var lang in defaultLanguages)
                    {
                        productCopyToCreate.Product_Name.UpdateEntry(lang.CMN_LanguageID, productDB.Product_Name.Contents.FirstOrDefault().Content);
                        productCopyToCreate.Product_Description.UpdateEntry(lang.CMN_LanguageID, productDB.Product_Description.Contents.FirstOrDefault().Content);
                    }
                    productCopyToCreate.ProductType_RefID      = Guid.Empty;
                    productCopyToCreate.ProductSuccessor_RefID = Guid.Empty;
                    productCopyToCreate.IsDeleted = false;
                    var productDocumentStructureRefID = Guid.NewGuid();
                    if (productDB.Product_DocumentationStructure_RefID != Guid.Empty)
                    {
                        productCopyToCreate.Product_DocumentationStructure_RefID = productDocumentStructureRefID;
                    }
                    productCopyToCreate.Save(Connection, Transaction);
                    #endregion

                    #region copyPicture
                    if (productDB.Product_DocumentationStructure_RefID != Guid.Empty)
                    {
                        var documentStructureHeaders = ORM_DOC_Structure_Header.Query.Search(Connection, Transaction, new ORM_DOC_Structure_Header.Query {
                            DOC_Structure_HeaderID = productDB.Product_DocumentationStructure_RefID
                        });
                        if (documentStructureHeaders != null && documentStructureHeaders.Count() > 0)
                        {
                            var documentStructureHeader = documentStructureHeaders.First();
                            ORM_DOC_Structure_Header docStructureHeaderToCreate = new ORM_DOC_Structure_Header();
                            docStructureHeaderToCreate.DOC_Structure_HeaderID = productDocumentStructureRefID;
                            docStructureHeaderToCreate.IsDeleted    = false;
                            docStructureHeaderToCreate.Label        = documentStructureHeader.Label;
                            docStructureHeaderToCreate.Tenant_RefID = securityTicket.TenantID;
                            docStructureHeaderToCreate.Save(Connection, Transaction);

                            var documentStructures = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query
                            {
                                Structure_Header_RefID = documentStructureHeader.DOC_Structure_HeaderID
                            });
                            var documentStructureID = Guid.NewGuid();
                            if (documentStructures != null && documentStructures.Count() > 0)
                            {
                                var documentStructure = documentStructures.First();
                                ORM_DOC_Structure structureToCreate = new ORM_DOC_Structure();
                                structureToCreate.Label                   = "Product picture";
                                structureToCreate.DOC_StructureID         = documentStructureID;
                                structureToCreate.Structure_Header_RefID  = docStructureHeaderToCreate.DOC_Structure_HeaderID;
                                structureToCreate.CreatedBy_Account_RefID = securityTicket.AccountID;
                                structureToCreate.Tenant_RefID            = securityTicket.TenantID;
                                structureToCreate.Save(Connection, Transaction);

                                var document2DocumentStructures = ORM_DOC_Document_2_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Document_2_Structure.Query
                                {
                                    Structure_RefID = documentStructure.DOC_StructureID
                                });

                                if (document2DocumentStructures != null && document2DocumentStructures.Count() > 0)
                                {
                                    var document2DocumentStructure = document2DocumentStructures.First();

                                    var documentService = InfrastructureFactory.CreateDocumentService();
                                    var webClient       = new WebClient();
                                    var imageBytes      = webClient.DownloadData(documentService.GenerateDownloadLink(document2DocumentStructure.Document_RefID));

                                    var documentID = documentService.UploadDocument(imageBytes, productCopyToCreate.Product_Number, securityTicket.SessionTicket, null, null);
                                    ORM_DOC_Document documentToCreate = new ORM_DOC_Document();
                                    documentToCreate.DOC_DocumentID = documentID;
                                    documentToCreate.Tenant_RefID   = securityTicket.TenantID;
                                    documentToCreate.Save(Connection, Transaction);


                                    ORM_DOC_Document_2_Structure documentStructureToSave = new ORM_DOC_Document_2_Structure();
                                    documentStructureToSave.Document_RefID        = documentToCreate.DOC_DocumentID;
                                    documentStructureToSave.Structure_RefID       = structureToCreate.DOC_StructureID;
                                    documentStructureToSave.StructureHeader_RefID = docStructureHeaderToCreate.DOC_Structure_HeaderID;
                                    documentStructureToSave.Tenant_RefID          = securityTicket.TenantID;
                                    documentStructureToSave.Save(Connection, Transaction);
                                }
                            }
                        }
                    }

                    #endregion



                    var dimensionsDb = ORM_CMN_PRO_Dimension.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Dimension.Query
                    {
                        IsDeleted     = false,
                        Tenant_RefID  = securityTicket.TenantID,
                        Product_RefID = originalProductId
                    });

                    List <ORM_CMN_PRO_Dimension_Value> dimensionValuesToCreate = new List <ORM_CMN_PRO_Dimension_Value>();

                    #region SaveDimensions
                    foreach (var dimensionDb in dimensionsDb)
                    {
                        var dimensionName = dimensionDb.DimensionName;
                        var dimensionID   = dimensionDb.CMN_PRO_DimensionID;

                        ORM_CMN_PRO_Dimension dimensionCopyToCreate = new ORM_CMN_PRO_Dimension();
                        dimensionCopyToCreate.CMN_PRO_DimensionID    = Guid.NewGuid();
                        dimensionCopyToCreate.Creation_Timestamp     = DateTime.Now;
                        dimensionCopyToCreate.DimensionName          = new Dict(ORM_CMN_PRO_Dimension.TableName);
                        dimensionCopyToCreate.IsDeleted              = false;
                        dimensionCopyToCreate.IsDimensionTemplate    = false;
                        dimensionCopyToCreate.Product_RefID          = productCopyToCreate.CMN_PRO_ProductID;
                        dimensionCopyToCreate.Tenant_RefID           = securityTicket.TenantID;
                        dimensionCopyToCreate.OrderSequence          = dimensionDb.OrderSequence;
                        dimensionCopyToCreate.Modification_Timestamp = DateTime.Now;
                        dimensionCopyToCreate.Save(Connection, Transaction);
                        foreach (var lang in defaultLanguages)
                        {
                            dimensionCopyToCreate.DimensionName.UpdateEntry(lang.CMN_LanguageID, dimensionName.Contents.FirstOrDefault().Content);
                        }
                        dimensionCopyToCreate.Save(Connection, Transaction);

                        var dimensionValuesDb = ORM_CMN_PRO_Dimension_Value.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Dimension_Value.Query
                        {
                            Tenant_RefID     = securityTicket.TenantID,
                            IsDeleted        = false,
                            Dimensions_RefID = dimensionID
                        });

                        dimensionValuesDb.ForEach(x => x.Dimensions_RefID = dimensionCopyToCreate.CMN_PRO_DimensionID);
                        dimensionValuesToCreate.AddRange(dimensionValuesDb);
                    }
                    #endregion

                    var productVariantsDb = ORM_CMN_PRO_Product_Variant.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Product_Variant.Query
                    {
                        Tenant_RefID          = securityTicket.TenantID,
                        IsDeleted             = false,
                        CMN_PRO_Product_RefID = originalProductId
                    });



                    #region AssortmentProductSave
                    ORM_CMN_PRO_ASS_AssortmentProduct assortmentProductToCreate = new ORM_CMN_PRO_ASS_AssortmentProduct();
                    assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID = Guid.NewGuid();
                    assortmentProductToCreate.Ext_CMN_PRO_Product_RefID       = productCopyToCreate.CMN_PRO_ProductID;
                    assortmentProductToCreate.IsDeleted    = false;
                    assortmentProductToCreate.Tenant_RefID = securityTicket.TenantID;
                    assortmentProductToCreate.Save(Connection, Transaction);
                    #endregion

                    #region Assortment Vendor Product Save
                    P_L3AS_SAVP_0004 parameterVendorProductItem = new P_L3AS_SAVP_0004();
                    parameterVendorProductItem.AssortmentProductID = assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID;
                    parameterVendorProductItem.ProductRefID        = originalProductId;
                    parameterVendorProduct.Add(parameterVendorProductItem);
                    ORM_CMN_PRO_ASS_AssortmentProduct_VendorProduct assortmentVendorProductToCreate = new ORM_CMN_PRO_ASS_AssortmentProduct_VendorProduct();

                    #endregion

                    #region Assortment2Assortment Product save
                    ORM_CMN_PRO_ASS_Assortment_2_AssortmentProduct assortmentToAssortmentProductToCreate = new ORM_CMN_PRO_ASS_Assortment_2_AssortmentProduct();
                    assortmentToAssortmentProductToCreate.AssignmentID = Guid.NewGuid();
                    assortmentToAssortmentProductToCreate.CMN_PRO_ASS_Assortment_Product_RefID = assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID;
                    assortmentToAssortmentProductToCreate.CMN_PRO_ASS_Assortment_RefID         = Parameter.AssortmentID;
                    assortmentToAssortmentProductToCreate.IsDeleted    = false;
                    assortmentToAssortmentProductToCreate.Tenant_RefID = securityTicket.TenantID;
                    assortmentToAssortmentProductToCreate.Save(Connection, Transaction);
                    #endregion
                    List <ORM_CMN_PRO_Variant_DimensionValue> variantDimensionValueAssignmentToCreate = new List <ORM_CMN_PRO_Variant_DimensionValue>();
                    foreach (var productVariantDb in productVariantsDb)
                    {
                        #region ProductVariant Save
                        ORM_CMN_PRO_ASS_DistributionPrice distributionPriceToCreate = new ORM_CMN_PRO_ASS_DistributionPrice();
                        distributionPriceToCreate.CMN_PRO_ASS_DistributionPriceID = Guid.NewGuid();
                        distributionPriceToCreate.IsDeleted    = false;
                        distributionPriceToCreate.Tenant_RefID = securityTicket.TenantID;
                        distributionPriceToCreate.Save(Connection, Transaction);

                        ORM_CMN_PRO_Product_Variant productVariantToCreate = new ORM_CMN_PRO_Product_Variant();
                        productVariantToCreate.CMN_PRO_Product_VariantID = Guid.NewGuid();
                        productVariantToCreate.CMN_PRO_Product_RefID     = productCopyToCreate.CMN_PRO_ProductID;
                        productVariantToCreate.Creation_Timestamp        = DateTime.Now;
                        productVariantToCreate.Tenant_RefID      = securityTicket.TenantID;
                        productVariantToCreate.ProductVariantITL = "";
                        productVariantToCreate.ProductVariant_DocumentationStructure_RefID = Guid.Empty;
                        productVariantToCreate.VariantName = new Dict(ORM_CMN_PRO_Product_Variant.TableName);
                        productVariantToCreate.IsDeleted   = false;
                        productVariantToCreate.IsStandardProductVariant      = productVariantDb.IsStandardProductVariant;
                        productVariantToCreate.IsImportedFromExternalCatalog = false;
                        productVariantToCreate.Modification_Timestamp        = DateTime.Now;

                        productVariantToCreate.Save(Connection, Transaction);
                        foreach (var lang in defaultLanguages)
                        {
                            productVariantToCreate.VariantName.UpdateEntry(lang.CMN_LanguageID, productVariantDb.VariantName.Contents.FirstOrDefault().Content);
                        }
                        productVariantToCreate.Save(Connection, Transaction);

                        #endregion

                        #region dimensionValuesAssignemnt

                        var assignmentExists = ORM_CMN_PRO_Variant_DimensionValue.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Variant_DimensionValue.Query
                        {
                            Tenant_RefID = securityTicket.TenantID,

                            ProductVariant_RefID = productVariantDb.CMN_PRO_Product_VariantID
                        });
                        foreach (var variantAssignment in assignmentExists)
                        {
                            variantAssignment.IsDeleted            = false;
                            variantAssignment.ProductVariant_RefID = productVariantToCreate.CMN_PRO_Product_VariantID;
                            variantAssignment.Tenant_RefID         = securityTicket.TenantID;

                            variantDimensionValueAssignmentToCreate.Add(variantAssignment);
                        }
                        #endregion

                        #region AddVariantToAssortment
                        ORM_CMN_PRO_ASS_AssortmentVariant assortmentVariantToCreate = new ORM_CMN_PRO_ASS_AssortmentVariant();
                        assortmentVariantToCreate.CMN_PRO_ASS_AssortmentVariantID   = Guid.NewGuid();
                        assortmentVariantToCreate.Ext_CMN_PRO_Product_Variant_RefID = productVariantToCreate.CMN_PRO_Product_VariantID;
                        assortmentVariantToCreate.IsDeleted = false;
                        assortmentVariantToCreate.DistributionPrice_RefID = distributionPriceToCreate.CMN_PRO_ASS_DistributionPriceID;
                        assortmentVariantToCreate.Tenant_RefID            = securityTicket.TenantID;
                        assortmentVariantToCreate.Save(Connection, Transaction);
                        #endregion
                        P_L3AS_SAVV_0040 parameterVendorVariantItem = new P_L3AS_SAVV_0040();
                        parameterVendorVariantItem.AssortmentVariantID    = assortmentVariantToCreate.CMN_PRO_ASS_AssortmentVariantID;
                        parameterVendorVariantItem.ProductVariantID       = productVariantDb.CMN_PRO_Product_VariantID;
                        parameterVendorVariantItem.OrderSequence          = 1;
                        parameterVendorVariantItem.IsDefaultVendorVariant = true;
                        parameterVendorVariants.Add(parameterVendorVariantItem);
                    }

                    #region SaveDimensionValuesAndAssignment
                    foreach (var dimensionValueToCreate in dimensionValuesToCreate)
                    {
                        var valueName = dimensionValueToCreate.DimensionValue_Text;
                        var valueID   = dimensionValueToCreate.CMN_PRO_Dimension_ValueID;

                        ORM_CMN_PRO_Dimension_Value dimensionValueToCreateUpdate = new ORM_CMN_PRO_Dimension_Value();
                        dimensionValueToCreateUpdate.CMN_PRO_Dimension_ValueID = Guid.NewGuid();
                        dimensionValueToCreateUpdate.Creation_Timestamp        = DateTime.Now;
                        dimensionValueToCreateUpdate.DimensionValue_Text       = new Dict(ORM_CMN_PRO_Dimension_Value.TableName);
                        dimensionValueToCreateUpdate.Dimensions_RefID          = dimensionValueToCreate.Dimensions_RefID;
                        dimensionValueToCreateUpdate.IsDeleted              = false;
                        dimensionValueToCreateUpdate.Tenant_RefID           = securityTicket.TenantID;
                        dimensionValueToCreateUpdate.Modification_Timestamp = DateTime.Now;
                        dimensionValueToCreateUpdate.OrderSequence          = dimensionValueToCreate.OrderSequence;
                        dimensionValueToCreateUpdate.Save(Connection, Transaction);
                        foreach (var lang in defaultLanguages)
                        {
                            dimensionValueToCreateUpdate.DimensionValue_Text.UpdateEntry(lang.CMN_LanguageID, valueName.Contents.FirstOrDefault().Content);
                        }
                        dimensionValueToCreateUpdate.Save(Connection, Transaction);

                        var assignments = variantDimensionValueAssignmentToCreate.Where(x => x.DimensionValue_RefID == valueID).ToList();
                        foreach (var assignment in assignments)
                        {
                            ORM_CMN_PRO_Variant_DimensionValue assignmentToSave = new ORM_CMN_PRO_Variant_DimensionValue();
                            assignmentToSave.CMN_PRO_Variant_DimensionValueID = Guid.NewGuid();
                            assignmentToSave.Creation_Timestamp     = DateTime.Now;
                            assignmentToSave.DimensionValue_RefID   = dimensionValueToCreateUpdate.CMN_PRO_Dimension_ValueID;
                            assignmentToSave.IsDeleted              = false;
                            assignmentToSave.Modification_Timestamp = DateTime.Now;
                            assignmentToSave.ProductVariant_RefID   = assignment.ProductVariant_RefID;
                            assignmentToSave.Tenant_RefID           = securityTicket.TenantID;
                            assignmentToSave.Save(Connection, Transaction);
                        }
                    }
                    #endregion
                }
            }
            cls_Save_Assortment_Vendor_Products.Invoke(Connection, Transaction, parameterVendorProduct.ToArray(), securityTicket);
            cls_Save_Assortment_Vendor_Variants.Invoke(Connection, Transaction, parameterVendorVariants.ToArray(), securityTicket);

            return(returnValue);

            #endregion UserCode
        }
示例#9
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5OD_SDTNL_1714 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guid();
            if (Parameter.ItemID == Guid.Empty)
            {
                var error = new FR_Guid();
                error.ErrorMessage = "ItemID can not be empty";
                error.Status       = FR_Status.Error_Internal;
                return(error);
            }


            #region DocumentPackage

            if (Parameter.isDocumentPackage == true)
            {
                var item = new ORM_DOC_Structure();

                var result = item.Load(Connection, Transaction, Parameter.ItemID);
                if (result.Status != FR_Status.Success || item.DOC_StructureID == Guid.Empty)
                {
                    var error = new FR_Guid();
                    error.ErrorMessage = "No Such ID";
                    error.Status       = FR_Status.Error_Internal;
                    return(error);
                }

                item.Parent_RefID = Parameter.ParentID;

                return(new FR_Guid(item.Save(Connection, Transaction), item.DOC_StructureID));
            }

            #endregion

            #region Document

            if (Parameter.isDocument == true)
            {
                var item1 = new ORM_DOC_Document_2_Structure();

                var assigment = new ORM_DOC_Document_2_Structure.Query();
                assigment.Document_RefID = Parameter.ItemID;
                assigment.IsDeleted      = false;

                var assignments = ORM_DOC_Document_2_Structure.Query.Search(Connection, Transaction, assigment);

                foreach (var assign in assignments)
                {
                    assign.Structure_RefID = Parameter.ParentID;
                    assign.Save(Connection, Transaction);
                }

                return(new FR_Guid());
            }
            #endregion
            return(returnValue);

            #endregion UserCode
        }