Ejemplo n.º 1
0
        public ActionResult CreateConversationFromProposal(string conversationJSON)
        {
            bool result = true;
            ConversationViewModel viewModel = new ConversationViewModel();

            KindAds.Utils.Enums.Roles rol;
            rol = (User.IsInRole(KindAds.Utils.Enums.Roles.Publisher.ToString()) ? KindAds.Utils.Enums.Roles.Publisher : KindAds.Utils.Enums.Roles.Advertiser);
            int rolId = Convert.ToInt32(rol);
            var email = System.Web.HttpContext.Current.User.Identity.Name;

            try {
                ConversationParametersViewModel conversationParameters = JsonConvert.DeserializeObject <ConversationParametersViewModel>(conversationJSON);
                result = Manager.CreateConversation(conversationParameters);
                viewModel.conversationItems = viewModel.GetAllConversations(email, rolId);
            }
            catch (Exception e) {
                var messageException = Telemetry.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                Telemetry.Critical(messageException);
            }
            return(View("Home", viewModel));
        }
Ejemplo n.º 2
0
        public bool CreateConversation(ConversationParametersViewModel conversationParameters)
        {
            bool   result = false;
            bool   resultCreateConversationDocument  = false;
            bool   resultCreateAddConversationPeople = false;
            string conversationId = Guid.NewGuid().ToString();

            try
            {
                resultCreateConversationDocument  = CreateConversationDocument(conversationId, conversationParameters.AudienceChannelId, conversationParameters.NameConversation);
                resultCreateAddConversationPeople = AddConversationPeopleDocument(conversationId, conversationParameters.PublisherId, conversationParameters.AdvertiserId);

                result = (resultCreateConversationDocument && resultCreateAddConversationPeople) == true?true:false;
            }
            catch (Exception e)
            {
                var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(result);
        }
Ejemplo n.º 3
0
        public ActionResult Proposal(ProposalViewModel viewModel)
        {
            ConversationParametersViewModel conversationParameters = new ConversationParametersViewModel();

            viewModel.proposal.AudienceChannelId = TempData["idAudienceChannel"].ToString();
            var    operationResult            = manager.AddProposal(viewModel, User.Identity.GetUserId());
            string conversationParametersJson = string.Empty;

            if (operationResult)
            {
                string serviceBusQueueName = "proposaltopicdev";
                var    audienceChannel     = audienceChannelManager.GetAudienceChannelById(viewModel.proposal.AudienceChannelId);
                var    audience            = audienceManager.GetAudienceById(audienceChannel.AudienceId);
                var    publisherProfile    = manager.GetPublisherProfileById(audience.PublisherId);
                var    advertiserProfile   = manager.GetAdvertiserProfile(User.Identity.GetUserId());

                conversationParameters.NameConversation  = publisherProfile.Name + "_" + audienceChannel.Name + "_" + advertiserProfile.Title;
                conversationParameters.AdvertiserId      = advertiserProfile.Id;
                conversationParameters.PublisherId       = publisherProfile.Id;
                conversationParameters.AudienceChannelId = audienceChannel.Id;

                conversationParametersJson = JsonConvert.SerializeObject(conversationParameters);

                ProposalNotification proposalNotification = new ProposalNotification()
                {
                    idUser  = publisherProfile.UserId,
                    message = "Proposal created successfully"
                };

                string message = JsonConvert.SerializeObject(proposalNotification);
                notificationManager = new NotificationManager(serviceBusQueueName);
                notificationManager.ProcessProposalNotification(message, new Dictionary <string, int>());
                notificationManager.Close();
            }
            return(operationResult ? Json(new { success = true, message = "Proposal created successfully", conversationParameters = conversationParametersJson, proposalId = viewModel.proposal.Id }) : Json(new { error = "Error creating Proposal" }));
        }