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

            foreach (var item in Parameter.AvailabilityDate)
            {
                #region Delete
                if (item.IsDeleted)
                {
                    ORM_CMN_BPT_BusinessParticipant_Availability.Query.SoftDelete(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant_Availability.Query()
                    {
                        Tenant_RefID = securityTicket.TenantID,
                        IsDeleted    = false,
                        CMN_BPT_BusinessParticipant_AvailabilityID = item.OfficeAvailabilityID
                    });
                }
                #endregion
                else
                {
                    var officeAvailabilityQuery = new ORM_CMN_BPT_BusinessParticipant_Availability.Query();
                    officeAvailabilityQuery.Tenant_RefID = securityTicket.TenantID;
                    officeAvailabilityQuery.IsDeleted    = false;
                    officeAvailabilityQuery.CMN_BPT_BusinessParticipant_AvailabilityID = item.OfficeAvailabilityID;

                    var bpAvailability = ORM_CMN_BPT_BusinessParticipant_Availability.Query.Search(Connection, Transaction, officeAvailabilityQuery).SingleOrDefault();

                    #region Save
                    if (bpAvailability == null)
                    {
                        bpAvailability = new ORM_CMN_BPT_BusinessParticipant_Availability();
                        bpAvailability.CMN_BPT_BusinessParticipant_AvailabilityID = item.OfficeAvailabilityID;
                        bpAvailability.BusinessParticipant_RefID      = Parameter.CMN_BPT_BusinessParticipantID;
                        bpAvailability.CMN_CAL_AVA_Availability_RefID = Guid.NewGuid();
                        bpAvailability.Tenant_RefID       = securityTicket.TenantID;
                        bpAvailability.Creation_Timestamp = DateTime.Now;
                        bpAvailability.Save(Connection, Transaction);


                        var availability = new ORM_CMN_CAL_AVA_Availability();
                        availability.CMN_CAL_AVA_AvailabilityID = bpAvailability.CMN_CAL_AVA_Availability_RefID;
                        availability.Tenant_RefID       = securityTicket.TenantID;
                        availability.Creation_Timestamp = DateTime.Now;

                        var availabilityTypeQuery = new ORM_CMN_CAL_AVA_Availability_Type.Query();
                        availabilityTypeQuery.IsDeleted                = false;
                        availabilityTypeQuery.Tenant_RefID             = securityTicket.TenantID;
                        availabilityTypeQuery.GlobalPropertyMatchingID = item.Type;

                        var availabilityType = ORM_CMN_CAL_AVA_Availability_Type.Query.Search(Connection, Transaction, availabilityTypeQuery).First();

                        availability.Office_RefID                = item.OfficeID;
                        availability.AvailabilityType_RefID      = availabilityType.CMN_CAL_AVA_Availability_TypeID;
                        availability.IsAvailabilityExclusionItem = item.IsException;
                        availability.Save(Connection, Transaction);

                        Guid EventId = Guid.NewGuid();

                        var date = new ORM_CMN_CAL_AVA_Date();
                        date.CMN_CAL_AVA_DateID  = Guid.NewGuid();
                        date.Availability_RefID  = availability.CMN_CAL_AVA_AvailabilityID;
                        date.CMN_CAL_Event_RefID = EventId;
                        date.DateName            = item.AvailabilityDate_Name;
                        date.DateComment         = item.Reason;
                        date.Tenant_RefID        = securityTicket.TenantID;
                        date.Creation_Timestamp  = DateTime.Now;
                        date.Save(Connection, Transaction);

                        var events = new ORM_CMN_CAL_Event();
                        events.CMN_CAL_EventID    = EventId;
                        events.IsRepetitive       = item.IsRepetitive;
                        events.StartTime          = item.AvailabilityDate_From;
                        events.EndTime            = item.AvailabilityDate_To;
                        events.Tenant_RefID       = securityTicket.TenantID;
                        events.Creation_Timestamp = DateTime.Now;
                        events.IsWholeDayEvent    = item.IsWholeDay;

                        if (item.IsRepetitive)
                        {
                            events.Repetition_RefID = Guid.NewGuid();

                            var repetitions = new ORM_CMN_CAL_Repetition();
                            repetitions.CMN_CAL_RepetitionID = events.Repetition_RefID;
                            repetitions.IsMonthly            = item.IsMontly;
                            repetitions.IsWeekly             = item.IsWeekly;
                            repetitions.IsDaily            = item.IsDaily;
                            repetitions.IsYearly           = item.IsYearly;
                            repetitions.Tenant_RefID       = securityTicket.TenantID;
                            repetitions.Creation_Timestamp = DateTime.Now;
                            repetitions.Save(Connection, Transaction);

                            if (item.IsWeekly)
                            {
                                var repetitionWeekly = new ORM_CMN_CAL_RepetitionPatterns_Weekly();
                                repetitionWeekly.CMN_CAL_RepetitionPattern_WeeklyID = Guid.NewGuid();
                                repetitionWeekly.Repetition_RefID          = repetitions.CMN_CAL_RepetitionID;
                                repetitionWeekly.Tenant_RefID              = securityTicket.TenantID;
                                repetitionWeekly.Creation_Timestamp        = DateTime.Now;
                                repetitionWeekly.HasRepeatingOn_Fridays    = item.HasRepeatingOn_Fridays;
                                repetitionWeekly.HasRepeatingOn_Mondays    = item.HasRepeatingOn_Mondays;
                                repetitionWeekly.HasRepeatingOn_Saturdays  = item.HasRepeatingOn_Saturdays;
                                repetitionWeekly.HasRepeatingOn_Sundays    = item.HasRepeatingOn_Sundays;
                                repetitionWeekly.HasRepeatingOn_Thursdays  = item.HasRepeatingOn_Thursdays;
                                repetitionWeekly.HasRepeatingOn_Tuesdays   = item.HasRepeatingOn_Tuesdays;
                                repetitionWeekly.HasRepeatingOn_Wednesdays = item.HasRepeatingOn_Wednesdays;
                                repetitionWeekly.Save(Connection, Transaction);
                            }

                            if (item.IsMontly)
                            {
                                var repetitionMontly = new ORM_CMN_CAL_RepetitionPatterns_Monthly();
                                repetitionMontly.CMN_CAL_RepetitionPattern_MonthlyID = Guid.NewGuid();
                                repetitionMontly.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionMontly.Tenant_RefID       = securityTicket.TenantID;
                                repetitionMontly.Creation_Timestamp = DateTime.Now;
                                repetitionMontly.Save(Connection, Transaction);
                            }

                            if (item.IsDaily)
                            {
                                var repetitionDaily = new ORM_CMN_CAL_RepetitionPatterns_Daily();
                                repetitionDaily.CMN_CAL_RepetitionPattern_DailyID = Guid.NewGuid();
                                repetitionDaily.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionDaily.Tenant_RefID       = securityTicket.TenantID;
                                repetitionDaily.Creation_Timestamp = DateTime.Now;
                                repetitionDaily.Save(Connection, Transaction);
                            }

                            if (item.IsYearly)
                            {
                                var repetitionYearly = new ORM_CMN_CAL_RepetitionPatterns_Yearly();
                                repetitionYearly.CMN_CAL_RepetitionPattern_YearlyID = Guid.NewGuid();
                                repetitionYearly.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionYearly.Tenant_RefID       = securityTicket.TenantID;
                                repetitionYearly.Creation_Timestamp = DateTime.Now;
                                repetitionYearly.Save(Connection, Transaction);
                            }
                        }

                        events.Save(Connection, Transaction);
                    }
                    #endregion

                    #region Edit
                    else
                    {
                        bpAvailability.Save(Connection, Transaction);
                        var eventsQuery = new ORM_CMN_CAL_Event.Query();
                        eventsQuery.IsDeleted    = false;
                        eventsQuery.Tenant_RefID = securityTicket.TenantID;

                        var availability = ORM_CMN_CAL_AVA_Availability.Query.Search(Connection, Transaction, new ORM_CMN_CAL_AVA_Availability.Query()
                        {
                            Tenant_RefID = securityTicket.TenantID,
                            IsDeleted    = false,
                            CMN_CAL_AVA_AvailabilityID = bpAvailability.CMN_CAL_AVA_Availability_RefID
                        }).Single();

                        availability.Office_RefID = item.OfficeID;
                        availability.Save(Connection, Transaction);

                        var dateQuery = new ORM_CMN_CAL_AVA_Date.Query();
                        dateQuery.IsDeleted          = false;
                        dateQuery.Tenant_RefID       = securityTicket.TenantID;
                        dateQuery.Availability_RefID = bpAvailability.CMN_CAL_AVA_Availability_RefID;

                        var date = ORM_CMN_CAL_AVA_Date.Query.Search(Connection, Transaction, dateQuery).Single();
                        date.DateName    = item.AvailabilityDate_Name;
                        date.DateComment = item.Reason;
                        date.Save(Connection, Transaction);

                        eventsQuery.CMN_CAL_EventID = date.CMN_CAL_Event_RefID;

                        var Events = ORM_CMN_CAL_Event.Query.Search(Connection, Transaction, eventsQuery).Single();

                        Events.IsRepetitive    = item.IsRepetitive;
                        Events.IsWholeDayEvent = item.IsWholeDay;
                        Events.StartTime       = item.AvailabilityDate_From;
                        Events.EndTime         = item.AvailabilityDate_To;
                        #region delete old repetation if exists

                        var repetitionsQuery = new ORM_CMN_CAL_Repetition.Query();
                        repetitionsQuery.IsDeleted            = false;
                        repetitionsQuery.Tenant_RefID         = securityTicket.TenantID;
                        repetitionsQuery.CMN_CAL_RepetitionID = Events.Repetition_RefID;

                        var repetitions = ORM_CMN_CAL_Repetition.Query.Search(Connection, Transaction, repetitionsQuery).SingleOrDefault();
                        if (repetitions != null)
                        {
                            repetitions.IsDeleted = true;
                            repetitions.Save(Connection, Transaction);

                            if (repetitions.IsWeekly)
                            {
                                ORM_CMN_CAL_RepetitionPatterns_Weekly.Query.SoftDelete(Connection, Transaction, new ORM_CMN_CAL_RepetitionPatterns_Weekly.Query()
                                {
                                    IsDeleted        = false,
                                    Tenant_RefID     = securityTicket.TenantID,
                                    Repetition_RefID = repetitions.CMN_CAL_RepetitionID,
                                });
                            }

                            if (repetitions.IsMonthly)
                            {
                                ORM_CMN_CAL_RepetitionPatterns_Monthly.Query.SoftDelete(Connection, Transaction, new ORM_CMN_CAL_RepetitionPatterns_Monthly.Query()
                                {
                                    Repetition_RefID = repetitions.CMN_CAL_RepetitionID,
                                    Tenant_RefID     = securityTicket.TenantID,
                                    IsDeleted        = false
                                });
                            }

                            if (repetitions.IsDaily)
                            {
                                ORM_CMN_CAL_RepetitionPatterns_Daily.Query.SoftDelete(Connection, Transaction, new ORM_CMN_CAL_RepetitionPatterns_Daily.Query()
                                {
                                    Repetition_RefID = repetitions.CMN_CAL_RepetitionID,
                                    IsDeleted        = false,
                                    Tenant_RefID     = securityTicket.TenantID
                                });
                            }

                            if (repetitions.IsYearly)
                            {
                                ORM_CMN_CAL_RepetitionPatterns_Yearly.Query.SoftDelete(Connection, Transaction, new ORM_CMN_CAL_RepetitionPatterns_Yearly.Query()
                                {
                                    Tenant_RefID     = securityTicket.TenantID,
                                    IsDeleted        = false,
                                    Repetition_RefID = repetitions.CMN_CAL_RepetitionID
                                });
                            }
                        }
                        #endregion
                        if (item.IsRepetitive)
                        {
                            Events.Repetition_RefID          = Guid.NewGuid();
                            repetitions                      = new ORM_CMN_CAL_Repetition();
                            repetitions.CMN_CAL_RepetitionID = Events.Repetition_RefID;
                            repetitions.IsMonthly            = item.IsMontly;
                            repetitions.IsWeekly             = item.IsWeekly;
                            repetitions.IsDaily              = item.IsDaily;
                            repetitions.IsYearly             = item.IsYearly;
                            repetitions.Tenant_RefID         = securityTicket.TenantID;
                            repetitions.Creation_Timestamp   = DateTime.Now;
                            repetitions.Save(Connection, Transaction);

                            if (item.IsWeekly)
                            {
                                var repetitionWeekly = new ORM_CMN_CAL_RepetitionPatterns_Weekly();
                                repetitionWeekly.CMN_CAL_RepetitionPattern_WeeklyID = Guid.NewGuid();
                                repetitionWeekly.Repetition_RefID          = repetitions.CMN_CAL_RepetitionID;
                                repetitionWeekly.Tenant_RefID              = securityTicket.TenantID;
                                repetitionWeekly.Creation_Timestamp        = DateTime.Now;
                                repetitionWeekly.HasRepeatingOn_Fridays    = item.HasRepeatingOn_Fridays;
                                repetitionWeekly.HasRepeatingOn_Mondays    = item.HasRepeatingOn_Mondays;
                                repetitionWeekly.HasRepeatingOn_Saturdays  = item.HasRepeatingOn_Saturdays;
                                repetitionWeekly.HasRepeatingOn_Sundays    = item.HasRepeatingOn_Sundays;
                                repetitionWeekly.HasRepeatingOn_Thursdays  = item.HasRepeatingOn_Thursdays;
                                repetitionWeekly.HasRepeatingOn_Tuesdays   = item.HasRepeatingOn_Tuesdays;
                                repetitionWeekly.HasRepeatingOn_Wednesdays = item.HasRepeatingOn_Wednesdays;
                                repetitionWeekly.Save(Connection, Transaction);
                            }

                            if (item.IsMontly)
                            {
                                var repetitionMontly = new ORM_CMN_CAL_RepetitionPatterns_Monthly();
                                repetitionMontly.CMN_CAL_RepetitionPattern_MonthlyID = Guid.NewGuid();
                                repetitionMontly.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionMontly.Tenant_RefID       = securityTicket.TenantID;
                                repetitionMontly.Creation_Timestamp = DateTime.Now;
                                repetitionMontly.Save(Connection, Transaction);
                            }

                            if (item.IsDaily)
                            {
                                var repetitionDaily = new ORM_CMN_CAL_RepetitionPatterns_Daily();
                                repetitionDaily.CMN_CAL_RepetitionPattern_DailyID = Guid.NewGuid();
                                repetitionDaily.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionDaily.Tenant_RefID       = securityTicket.TenantID;
                                repetitionDaily.Creation_Timestamp = DateTime.Now;
                                repetitionDaily.Save(Connection, Transaction);
                            }

                            if (item.IsYearly)
                            {
                                var repetitionYearly = new ORM_CMN_CAL_RepetitionPatterns_Yearly();
                                repetitionYearly.CMN_CAL_RepetitionPattern_YearlyID = Guid.NewGuid();
                                repetitionYearly.Repetition_RefID   = repetitions.CMN_CAL_RepetitionID;
                                repetitionYearly.Tenant_RefID       = securityTicket.TenantID;
                                repetitionYearly.Creation_Timestamp = DateTime.Now;
                                repetitionYearly.Save(Connection, Transaction);
                            }
                        }

                        Events.Save(Connection, Transaction);
                    }
                    #endregion
                }
            }
            var emp = ORM_CMN_BPT_EMP_Employee.Query.Search(Connection, Transaction, new ORM_CMN_BPT_EMP_Employee.Query {
                BusinessParticipant_RefID = Parameter.CMN_BPT_BusinessParticipantID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID
            }).FirstOrDefault();
            var oficeToDoctorList = ORM_CMN_BPT_EMP_Employee_2_Office.Query.Search(Connection, Transaction, new ORM_CMN_BPT_EMP_Employee_2_Office.Query {
                CMN_BPT_EMP_Employee_RefID = emp.CMN_BPT_EMP_EmployeeID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID
            });

            if (Parameter.UpdateSlots)
            {
                foreach (var o2d in oficeToDoctorList)
                {
                    cls_CreateUpdate_Slots_for_Practice.Invoke(Connection, Transaction, new P_L5S_SUSfP_1708()
                    {
                        PracticeID = o2d.CMN_STR_Office_RefID
                    }, securityTicket);
                }
            }

            return(returnValue);

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

            #region Get and update languages

            var init = ORM_APP_Initialization.Query.Search(Connection, Transaction, new ORM_APP_Initialization.Query()
            {
                Tenant_RefID      = securityTicket.TenantID,
                IsDeleted         = false,
                Application_RefID = Parameter.AppID
            }).SingleOrDefault();

            if (init == null)
            {
                init = new ORM_APP_Initialization()
                {
                    Tenant_RefID                 = securityTicket.TenantID,
                    Application_RefID            = Parameter.AppID,
                    APP_InitializationID         = Guid.NewGuid(),
                    Initialization_StartedAtDate = DateTime.Now,
                    Version = "1.0"
                };
            }

            var DBLanguages = cls_Get_All_Languages.Invoke(Connection, Transaction, securityTicket).Result;

            #endregion

            #region EComunactionContactType
            // Get all communication types from db.
            //var comunactionContactTypes = Enum.GetValues(typeof(EComunactionContactType));
            // Just this communication types can be inserted, if we want all, then use line above
            List <EComunactionContactType> comunactionContactTypes = new List <EComunactionContactType> {
                EComunactionContactType.Phone, EComunactionContactType.Email, EComunactionContactType.Fax, EComunactionContactType.Mobile
            };

            foreach (EComunactionContactType type in comunactionContactTypes)
            {
                P_L2CN_GCTIDfGPMID_1359 parameter = new P_L2CN_GCTIDfGPMID_1359();
                parameter.Type = EnumUtils.GetEnumDescription(type);
                var contactTypeResult = cls_Get_ContantTypeID_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, parameter, securityTicket).Result;

                //switch (type)
                //{
                //    // Just this communication types can be inserted
                //    case EComunactionContactType.Phone:
                //        {
                //            bool doesStatusExist = ORM_CMN_PER_CommunicationContact_Type.Query.Exists(Connection, Transaction,
                //                new ORM_CMN_PER_CommunicationContact_Type.Query
                //                {
                //                    Type = EnumUtils.GetEnumDescription(type),
                //                    Tenant_RefID = securityTicket.TenantID,
                //                    IsDeleted = false
                //                });

                //            if (!doesStatusExist)
                //            {
                //                var communicationContactType = new ORM_CMN_PER_CommunicationContact_Type();
                //                communicationContactType.Type = EnumUtils.GetEnumDescription(type);
                //                communicationContactType.Tenant_RefID = securityTicket.TenantID;
                //                communicationContactType.Save(Connection, Transaction);
                //            }
                //        }
                //        break;
                //    case EComunactionContactType.Email:
                //        {
                //            bool doesStatusExist = ORM_CMN_PER_CommunicationContact_Type.Query.Exists(Connection, Transaction,
                //                new ORM_CMN_PER_CommunicationContact_Type.Query
                //                {
                //                    Type = EnumUtils.GetEnumDescription(type),
                //                    Tenant_RefID = securityTicket.TenantID,
                //                    IsDeleted = false
                //                });

                //            if (!doesStatusExist)
                //            {
                //                var communicationContactType = new ORM_CMN_PER_CommunicationContact_Type();
                //                communicationContactType.Type = EnumUtils.GetEnumDescription(type);
                //                communicationContactType.Tenant_RefID = securityTicket.TenantID;
                //                communicationContactType.Save(Connection, Transaction);
                //            }
                //        }
                //        break;
                //    case EComunactionContactType.Fax:
                //        {
                //            bool doesStatusExist = ORM_CMN_PER_CommunicationContact_Type.Query.Exists(Connection, Transaction,
                //                new ORM_CMN_PER_CommunicationContact_Type.Query
                //                {
                //                    Type = EnumUtils.GetEnumDescription(type),
                //                    Tenant_RefID = securityTicket.TenantID,
                //                    IsDeleted = false
                //                });

                //            if (!doesStatusExist)
                //            {
                //                var communicationContactType = new ORM_CMN_PER_CommunicationContact_Type();
                //                communicationContactType.Type = EnumUtils.GetEnumDescription(type);
                //                communicationContactType.Tenant_RefID = securityTicket.TenantID;
                //                communicationContactType.Save(Connection, Transaction);
                //            }
                //        }
                //        break;
                //    case EComunactionContactType.Mobile:
                //        {
                //            bool doesStatusExist = ORM_CMN_PER_CommunicationContact_Type.Query.Exists(Connection, Transaction,
                //                new ORM_CMN_PER_CommunicationContact_Type.Query
                //                {
                //                    Type = EnumUtils.GetEnumDescription(type),
                //                    Tenant_RefID = securityTicket.TenantID,
                //                    IsDeleted = false
                //                });

                //            if (!doesStatusExist)
                //            {
                //                var communicationContactType = new ORM_CMN_PER_CommunicationContact_Type();
                //                communicationContactType.Type = EnumUtils.GetEnumDescription(type);
                //                communicationContactType.Tenant_RefID = securityTicket.TenantID;
                //                communicationContactType.Save(Connection, Transaction);
                //            }
                //        }
                //        break;
                //}
            }
            #endregion

            #region AvailabilityTypes

            var query = new ORM_CMN_CAL_AVA_Availability_Type.Query();
            query.IsDeleted    = false;
            query.Tenant_RefID = securityTicket.TenantID;

            var Availability = ORM_CMN_CAL_AVA_Availability_Type.Query.Search(Connection, Transaction, query);

            if (Availability.Count == 0)
            {
                ORM_CMN_CAL_AVA_Availability_Type Availability_Exceptions = new ORM_CMN_CAL_AVA_Availability_Type();
                Availability_Exceptions.CMN_CAL_AVA_Availability_TypeID = Guid.NewGuid();
                Availability_Exceptions.IsDefaultAvailabilityType       = true;
                Availability_Exceptions.GlobalPropertyMatchingID        = EnumUtils.GetEnumDescription(AvailabilityType.Exception);

                Dict name2 = new Dict("CMN_CAL_AVA_Availability_Type");
                for (int i = 0; i < DBLanguages.Count(); i++)
                {
                    name2.AddEntry(DBLanguages[i].CMN_LanguageID, EnumUtils.GetEnumDescription(AvailabilityType.Exception));
                }

                Availability_Exceptions.AvailabilityTypeName = name2;
                Availability_Exceptions.Tenant_RefID         = securityTicket.TenantID;
                Availability_Exceptions.Creation_Timestamp   = DateTime.Now;
                Availability_Exceptions.Save(Connection, Transaction);


                ORM_CMN_CAL_AVA_Availability_Type Availability_StandardHour = new ORM_CMN_CAL_AVA_Availability_Type();
                Availability_StandardHour.CMN_CAL_AVA_Availability_TypeID = Guid.NewGuid();
                Availability_StandardHour.IsDefaultAvailabilityType       = true;
                Availability_StandardHour.GlobalPropertyMatchingID        = EnumUtils.GetEnumDescription(AvailabilityType.Standard);

                Dict name = new Dict("CMN_CAL_AVA_Availability_Type");
                for (int i = 0; i < DBLanguages.Count(); i++)
                {
                    name.AddEntry(DBLanguages[i].CMN_LanguageID, EnumUtils.GetEnumDescription(AvailabilityType.Standard));
                }

                Availability_StandardHour.AvailabilityTypeName = name;
                Availability_StandardHour.Tenant_RefID         = securityTicket.TenantID;
                Availability_StandardHour.Creation_Timestamp   = DateTime.Now;
                Availability_StandardHour.Save(Connection, Transaction);

                ORM_CMN_CAL_AVA_Availability_Type Availability_WebBookingHour = new ORM_CMN_CAL_AVA_Availability_Type();
                Availability_WebBookingHour.CMN_CAL_AVA_Availability_TypeID = Guid.NewGuid();
                Availability_WebBookingHour.IsDefaultAvailabilityType       = true;
                Availability_WebBookingHour.GlobalPropertyMatchingID        = EnumUtils.GetEnumDescription(AvailabilityType.WebBooking);

                Dict name1 = new Dict("CMN_CAL_AVA_Availability_Type");
                for (int i = 0; i < DBLanguages.Count(); i++)
                {
                    name1.AddEntry(DBLanguages[i].CMN_LanguageID, EnumUtils.GetEnumDescription(AvailabilityType.WebBooking));
                }

                Availability_WebBookingHour.AvailabilityTypeName = name1;
                Availability_WebBookingHour.Tenant_RefID         = securityTicket.TenantID;
                Availability_WebBookingHour.Creation_Timestamp   = DateTime.Now;
                Availability_WebBookingHour.Save(Connection, Transaction);
            }
            #endregion

            #region PatinetParameters
            var PatientParameter = cls_Get_all_PatientParameters_for_Tenant.Invoke(Connection, Transaction, securityTicket).Result;
            #endregion

            init.Initialiaztion_CompletedAtDate = DateTime.Now;
            init.IsInitializationComplete       = true;
            init.Save(Connection, Transaction);

            returnValue.Result = true;

            return(returnValue);

            #endregion UserCode
        }