protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5WS_CSCfP_1431 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var item = new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart(); item.ORD_PRC_ShoppingCartID = Guid.NewGuid(); // Get status var statusActive = CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query() { GlobalPropertyMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription (DLCore_DBCommons.APODemand.EShoppingCartStatus.Active), Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); ORM_CMN_STR_Office office; var offices = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, new ORM_CMN_STR_Office.Query() { Office_InternalName = Parameter.PracticeBPID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).ToArray(); if (offices.Count() == 0) { office = new ORM_CMN_STR_Office(); office.CMN_STR_OfficeID = Guid.NewGuid(); office.Tenant_RefID = securityTicket.TenantID; office.Office_InternalName = Parameter.PracticeBPID; office.Save(Connection, Transaction); } else { office = offices[0]; } double internalIdentifier = 0; var lastShoppingCartOfficeAssignment = CL1_ORD_PRC.ORM_ORD_PRC_Office_ShoppingCart.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_Office_ShoppingCart.Query { Tenant_RefID = securityTicket.TenantID, CMN_STR_Office_RefID = office.CMN_STR_OfficeID } ).OrderByDescending(x => x.Creation_Timestamp).FirstOrDefault(); if (lastShoppingCartOfficeAssignment != null) { var lastShoppingCart = CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart.Query { Tenant_RefID = securityTicket.TenantID, ORD_PRC_ShoppingCartID = lastShoppingCartOfficeAssignment.ORD_PRC_ShoppingCart_RefID } ).FirstOrDefault(); double.TryParse(lastShoppingCart.InternalIdentifier, out internalIdentifier); } var shoppingCartOffice = new CL1_ORD_PRC.ORM_ORD_PRC_Office_ShoppingCart(); shoppingCartOffice.ORD_PRC_ShoppingCart_RefID = item.ORD_PRC_ShoppingCartID; shoppingCartOffice.CMN_STR_Office_RefID = office.CMN_STR_OfficeID; shoppingCartOffice.Tenant_RefID = securityTicket.TenantID; shoppingCartOffice.Save(Connection, Transaction); // Create shoppping cart item.ShoppingCart_CurrentStatus_RefID = statusActive.ORD_PRC_ShoppingCart_StatusID; item.InternalIdentifier = (++internalIdentifier).ToString(); item.Tenant_RefID = securityTicket.TenantID; item.CreatedBy_Account_RefID = securityTicket.AccountID; item.IsProcurementOrderCreated = false; // Create and save new shopping cart history var shoppingHistory = new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCartStatus_History(); shoppingHistory.ORD_PRC_ShoppingCart_RefID = item.ORD_PRC_ShoppingCartID; shoppingHistory.ORD_PRC_ShoppingCart_Status_RefID = statusActive.ORD_PRC_ShoppingCart_StatusID; shoppingHistory.PerformedBy_Account_RefID = securityTicket.AccountID; shoppingHistory.Tenant_RefID = securityTicket.TenantID; shoppingHistory.Save(Connection, Transaction); return(new FR_Guid(item.Save(Connection, Transaction), item.ORD_PRC_ShoppingCartID)); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5AWSAR_CSC_1809 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var item = new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart(); CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status statusShoppingCart; if (Parameter.IsWaitingForApproval) { // Get status statusShoppingCart = CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query() { GlobalPropertyMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription (DLCore_DBCommons.APODemand.EShoppingCartStatus.WaitingForApproval), Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); } else { // Get status statusShoppingCart = CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart_Status.Query() { GlobalPropertyMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription (DLCore_DBCommons.APODemand.EShoppingCartStatus.Active), Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); } // Check does already exist available shopping cart for current office. var shoppingCartOffice = new CL1_ORD_PRC.ORM_ORD_PRC_Office_ShoppingCart(); item.Tenant_RefID = securityTicket.TenantID; var lastShoppingCart = CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCart.Query { Tenant_RefID = securityTicket.TenantID } ).OrderByDescending(x => x.Creation_Timestamp).FirstOrDefault(); // Set shopping cart number double internalIdentifier = 0; if (lastShoppingCart != null) { double.TryParse(lastShoppingCart.InternalIdentifier, out internalIdentifier); } // Create shopping cart office shoppingCartOffice.ORD_PRC_ShoppingCart_RefID = item.ORD_PRC_ShoppingCartID; shoppingCartOffice.CMN_STR_Office_RefID = Parameter.OfficeID; shoppingCartOffice.Tenant_RefID = securityTicket.TenantID; shoppingCartOffice.Save(Connection, Transaction); // Create shoppping cart item.ShoppingCart_CurrentStatus_RefID = statusShoppingCart.ORD_PRC_ShoppingCart_StatusID; item.InternalIdentifier = (++internalIdentifier).ToString(); item.CreatedBy_Account_RefID = securityTicket.AccountID; item.IsProcurementOrderCreated = false; // Create and save new shopping cart history var shoppingHistory = new CL1_ORD_PRC.ORM_ORD_PRC_ShoppingCartStatus_History(); shoppingHistory.ORD_PRC_ShoppingCart_RefID = item.ORD_PRC_ShoppingCartID; shoppingHistory.ORD_PRC_ShoppingCart_Status_RefID = statusShoppingCart.ORD_PRC_ShoppingCart_StatusID; shoppingHistory.PerformedBy_Account_RefID = securityTicket.AccountID; shoppingHistory.Tenant_RefID = securityTicket.TenantID; shoppingHistory.Save(Connection, Transaction); return(new FR_Guid(item.Save(Connection, Transaction), item.ORD_PRC_ShoppingCartID)); #endregion UserCode }