Ejemplo n.º 1
0
        public ModelView.ModifyResult <UserBooth> UserBoothUpdate(IConnectionHandler connectionHandler, IConnectionHandler formGeneratorConnection, IConnectionHandler enterpriseNodeConnection, UserBooth userBooth,
                                                                  FormGenerator.DataStructure.FormStructure formModel, List <BoothOfficer> boothOfficers)
        {
            var modifyResult = new ModelView.ModifyResult <UserBooth>();


            if (
                !FormGeneratorComponent.Instance.FormDataTransactionalFacade(formGeneratorConnection)
                .ModifyFormData(formModel))
            {
                throw new Exception(Resources.Congress.ErrorInSaveBoothReserv);
            }

            if (!Update(connectionHandler, userBooth))
            {
                throw new Exception(Resources.Congress.ErrorInReservBooth);
            }

            if (boothOfficers != null && boothOfficers.Any())
            {
                if (!new BoothOfficerBO().BoothOfficerModify(connectionHandler, enterpriseNodeConnection,
                                                             boothOfficers, userBooth))
                {
                    return(modifyResult);
                }
            }


            modifyResult.Result = true;
            modifyResult.AddInform(userBooth, Resources.Congress.BoothUpdateEmail, Resources.Congress.BoothUpdateSMS);
            modifyResult.SendInform = true;
            return(modifyResult);
        }
Ejemplo n.º 2
0
        public ModelView.ModifyResult <UserBooth> UpdateStatusAfterTransaction(IConnectionHandler connectionHandler, IConnectionHandler paymentConnection, Guid tempId)
        {
            UserBoothBO userBoothBo = new UserBoothBO();
            var         result      = new ModelView.ModifyResult <UserBooth>();
            UserBooth   userBooth   = userBoothBo.FirstOrDefault(connectionHandler, x => x.TempId == tempId);

            if (userBooth == null)
            {
                return(result);
            }

            Transaction tr = PaymentComponenets.Instance.TempTransactionalFacade(paymentConnection).RemoveTempAndReturnTransaction(tempId);

            if (tr == null)
            {
                return(result);
            }

            userBooth.TransactionId = tr.Id;
            userBooth.TempId        = null;
            if (tr.PreDone)
            {
                userBooth.Status = (byte)Enums.RezervState.Pay;
                result.AddInform(userBooth, Resources.Congress.BoothPaymentEmail, Resources.Congress.BoothPaymentSMS);
            }
            if (!userBoothBo.Update(paymentConnection, userBooth))
            {
                throw new Exception(Resources.Congress.ErrorInReservBooth);
            }
            result.TransactionId = tr.Id;
            result.SendInform    = true;
            return(result);
        }
Ejemplo n.º 3
0
        public ModelView.ModifyResult <RefereeCartable> AssigneArticleToRefreeCartabl(IConnectionHandler connectionHandler, IConnectionHandler filemanagerconection, Guid articleId, Guid flowsender, List <Guid> refereesId, bool specialrefereesender = false)
        {
            var keyValuePairs = new ModelView.ModifyResult <RefereeCartable>();
            var articleBo     = new ArticleBO();
            var article       = articleBo.Get(connectionHandler, articleId);
            var config        = new ConfigurationBO().ValidConfig(connectionHandler, article.CongressId);

            article.FinalState = (byte)Enums.FinalState.WaitForAnswer;
            bool articleSpecialReferee = config.SentArticleSpecialReferee;

            if (refereesId.Count > 0)
            {
                if (config.SentArticleSpecialReferee)
                {
                    if (specialrefereesender)
                    {
                        articleSpecialReferee = false;
                        article.Status        = (byte)Enums.ArticleState.WaitForRefereeOpinion;
                    }
                    else
                    {
                        article.Status = (byte)Enums.ArticleState.SentToSpecialReferee;
                    }
                }
                else
                {
                    article.Status = (byte)Enums.ArticleState.WaitForRefereeOpinion;
                }
            }
            if (!articleBo.Update(connectionHandler, article))
            {
                return(keyValuePairs);
            }
            if (
                !this.UpdateRefreeCartabl(connectionHandler, filemanagerconection,
                                          article, flowsender, refereesId, articleSpecialReferee))
            {
                return(keyValuePairs);
            }
            foreach (var guid in refereesId)
            {
                keyValuePairs.AddInform(
                    new RefereeCartable()
                {
                    RefereeId = guid, ArticleId = articleId
                }, Resources.Congress.RefereeInformArticleEmail,
                    Resources.Congress.RefereeInformArticleSMS);
            }

            keyValuePairs.Result     = true;
            keyValuePairs.SendInform = true;
            return(keyValuePairs);
        }
Ejemplo n.º 4
0
        public ModelView.ModifyResult <HotelUser> UpdateStatusAfterTransaction(IConnectionHandler connectionHandler, IConnectionHandler paymentConnection, Guid userId, Guid tempId)
        {
            HotelUserBO hotelUserBo = new HotelUserBO();
            var         result      = new ModelView.ModifyResult <HotelUser>();


            bool             informUser = false;
            List <HotelUser> shopUser   = hotelUserBo.Where(connectionHandler, x => x.TempId == tempId);

            if (!shopUser.Any())
            {
                return(result);
            }

            Transaction tr = PaymentComponenets.Instance.TempTransactionalFacade(connectionHandler).RemoveTempAndReturnTransaction(tempId);

            if (tr == null)
            {
                return(result);
            }

            foreach (HotelUser hotelUser in shopUser)
            {
                hotelUser.TransactionId = tr.Id;
                hotelUser.TempId        = null;
                if (tr.PreDone)
                {
                    hotelUser.Status = (byte)Enums.RezervState.Pay;
                }

                if (!hotelUserBo.Update(connectionHandler, hotelUser))
                {
                    throw new Exception(Resources.Congress.ErrorInReservWorkShop);
                }
            }
            HotelUser hotel = shopUser.FirstOrDefault();

            if (hotel != null)
            {
                if (tr.PreDone)
                {
                    result.AddInform(new HotelUser()
                    {
                        HotelId = hotel.HotelId, UserId = userId
                    }, Resources.Congress.HotelPaymentEmail, Resources.Congress.HotelPaymentSMS);
                    result.SendInform = true;
                }
            }
            result.TransactionId = tr.Id;
            return(result);
        }
Ejemplo n.º 5
0
        public ModelView.ModifyResult <WorkShopUser> UpdateStatusAfterTransaction(IConnectionHandler connectionHandler, IConnectionHandler paymentConnection, Guid userId, Guid tempId)
        {
            WorkShopUserBO      workShopUserBo = new WorkShopUserBO();
            var                 result         = new ModelView.ModifyResult <WorkShopUser>();
            List <WorkShopUser> shopUser       = workShopUserBo.Where(connectionHandler, x => x.TempId == tempId);

            if (!shopUser.Any())
            {
                return(result);
            }

            Transaction tr = PaymentComponenets.Instance.TempTransactionalFacade(paymentConnection).RemoveTempAndReturnTransaction(tempId);

            if (tr == null)
            {
                return(result);
            }

            foreach (WorkShopUser valuePair in shopUser)
            {
                valuePair.TransactionId = tr.Id;
                valuePair.TempId        = null;
                if (tr.PreDone)
                {
                    valuePair.Status = (byte)Enums.WorkShopRezervState.Pay;
                }

                if (!workShopUserBo.Update(connectionHandler, valuePair))
                {
                    throw new Exception(Resources.Congress.ErrorInReservWorkShop);
                }
            }
            WorkShopUser workshop = shopUser.FirstOrDefault();

            if (workshop != null)
            {
                if (tr.PreDone)
                {
                    result.AddInform(new WorkShopUser()
                    {
                        WorkShopId = workshop.WorkShopId, UserId = userId
                    },
                                     Resources.Congress.WorkShopPaymentEmail,
                                     Resources.Congress.WorkShopPaymentSMS);
                }
            }
            result.TransactionId = tr.Id;
            result.Result        = true;
            result.SendInform    = true;
            return(result);
        }
Ejemplo n.º 6
0
        public ModelView.ModifyResult <UserBooth> UserBoothInsert(IConnectionHandler connectionHandler, IConnectionHandler paymentConnection, IConnectionHandler formGeneratorConnection, IConnectionHandler enterpriseNodeConnection, UserBooth userBooth, List <DiscountType> discountAttaches, string callBackurl,
                                                                  FormGenerator.DataStructure.FormStructure formModel, List <BoothOfficer> boothOfficers)
        {
            Dictionary <UserBooth, string> shopUsers = new Dictionary <UserBooth, string>();
            var    modifyResult   = new ModelView.ModifyResult <UserBooth>();
            Booth  booth          = new BoothBO().Get(connectionHandler, userBooth.BoothId);
            string additionalData = new CongressDiscountTypeBO().FillTempAdditionalData(connectionHandler, booth.CongressId);

            if (booth.ValidCost.ToDecimal() > 0)
            {
                string payer =
                    userBooth.EnterpriseNode.DescriptionField;
                Temp temp = new Temp
                {
                    PayerId        = userBooth.UserId,
                    CallBackUrl    = callBackurl,
                    PayerTitle     = payer,
                    Description    = Resources.Congress.PaymentBoothReserv + " " + booth.Code,
                    Amount         = new CongressDiscountTypeBO().CalulateAmountNew(paymentConnection, (booth.ValidCost.ToDecimal()), discountAttaches),
                    CurrencyType   = (byte)booth.CurrencyType.ToEnum <Radyn.Common.Definition.Enums.CurrencyType>(),
                    AdditionalData = additionalData
                };

                if (
                    !PaymentComponenets.Instance.TempTransactionalFacade(paymentConnection)
                    .Insert(temp, discountAttaches))
                {
                    return(modifyResult);
                }

                userBooth.TempId = temp.Id;
            }
            else
            {
                if (userBooth.TempId.HasValue)
                {
                    PaymentComponenets.Instance.TempTransactionalFacade(paymentConnection).Delete(userBooth.TempId);
                }
                userBooth.TempId = null;
            }

            if (userBooth.TempId == null)
            {
                userBooth.Status = (byte)Enums.RezervState.PayConfirm;
            }
            return(UserBoothInsert(connectionHandler, formGeneratorConnection, enterpriseNodeConnection, userBooth,
                                   formModel, boothOfficers));
        }