Пример #1
0
        public HttpResponseMessage Download([FromUri] int id)
        {
            HttpResponseMessage result = null;

            try
            {
                ContributionModel model  = new ContributionModel();
                MemoryStream      stream = model.Download(id);

                var content = new StreamContent(stream);
                content.Headers.ContentType   = new MediaTypeHeaderValue("application/octet-stream");
                content.Headers.ContentLength = stream.GetBuffer().Length;

                result = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = content
                };
            }
            catch (Exception ex)
            {
                result = new HttpResponseMessage(HttpStatusCode.BadRequest);
            }

            return(result);
        }
Пример #2
0
        public void InsertComment()
        {
            InMemoryDbContextFactory Db = new InMemoryDbContextFactory();
            var dbContext = Db.CreateDbContext();

            ContributionRepository contributionRepository = new ContributionRepository(dbContext);
            CommentRepository      commentRepository      = new CommentRepository(dbContext);

            ContributionModel contributionModel = new ContributionModel
            {
                Id      = Guid.NewGuid(),
                Message = "Doufáme, že z projektu dostaneme dostatečný počet bodů",
                Title   = "We belive"
            };

            dbContext.DetachAllEntities();

            CommentModel commentModel = new CommentModel()
            {
                Id           = Guid.NewGuid(),
                Message      = "Prvni",
                Contribution = contributionModel
            };

            contributionRepository.Insert(contributionModel);
            var contributionRepositoryResponse = contributionRepository.GetById(contributionModel.Id);

            Assert.NotNull(contributionRepositoryResponse);

            commentRepository.Insert(commentModel);
            var commentRepositoryResponse = commentRepository.GetById(commentModel.Id);

            Assert.NotNull(commentRepositoryResponse);
        }
        public static int CreateContribution(int contributionID, string UWType, double UWMonthly, int UWMonths, double ContributionAmount, int UWYear, int CWID, int AgencyID, string CFirstName, string CLastName, int CheckNumber, DateTime UWDateCreated, DateTime UWDateLastEdited)
        {
            ContributionModel data = new ContributionModel
            {
                ContributionID     = contributionID,
                UWType             = UWType,
                UWMonthly          = UWMonthly,
                UWMonths           = UWMonths,
                ContributionAmount = ContributionAmount,
                UWYear             = UWYear,
                CWID             = CWID,
                AgencyID         = AgencyID,
                CFirstName       = CFirstName,
                CLastName        = CLastName,
                CheckNumber      = CheckNumber,
                UWDateCreated    = UWDateCreated,
                UWDateLastEdited = UWDateLastEdited
            };

            //sql for sending data to the database from the values above
            string sql = @"INSERT INTO Contribution (contributionid, uwtype, uwmonthly, uwmonths, uwcontributionamount, uwyear, cwid, agencyid, contributionfname, contributionlname, checknumber, uwdatecreated, uwdateedited)
                        VALUES (@ContributionID, @UWType, @UWMonthly, @UWMonths, @ContributionAmount, @UWYear, @CWID, @AgencyID, @CFirstName, @CLastName, @CheckNumber, @UWDateCreated, @UWDateLastEdited);";

            return(SQLDataAccess.SaveData(sql, data));
        }
Пример #4
0
 private void ContributionSelected(ContributionModel contribution)
 {
     LoggedUserID.actualContributionModel = contribution;
     mediator.Send(new ContributionSelected {
         Id = contribution.Id
     });
     contributionModel = null;
 }
Пример #5
0
        private void ShowCommentsWindow(ContributionSelected obj)
        {
            ContributionModel model = LoggedUserID.actualContributionModel;

            if (obj.Id == model.Id)
            {
                commentModel = new CommentModel();
                LoadComments();
            }
        }
Пример #6
0
 private void ShowContributionsWindow(SelectedGroupMessage obj)
 {
     mediator.Send(new CloseRegistrationGroupWindow());
     mediator.Send(new CloseLoggedUserProfile());
     mediator.Send(new CloseSearchUserMessage());
     mediator.Send(new CloseCommentsWindowMessage());
     contributionModel = new ContributionModel();
     mediator.Send(new ShowUsersInGroupMessage());
     LoadContributions();
 }
Пример #7
0
 private bool CheckModel(ContributionModel contributionModel)
 {
     if (contributionModel.Message != null && contributionModel.Message != "")
     {
         if (contributionModel.Title.Length < 60)
         {
             return(true);
         }
     }
     return(false);
 }
        public ActionResult CreateContribution(ContributionModel model)
        {
            ViewBag.Message = "Create new Contribution";

            if (ModelState.IsValid)
            {
                DataLibrary.BusinessLogic.ContributionProcessor.CreateContribution(model.ContributionID, model.UWType, model.UWMonthly, model.UWMonths, model.ContributionAmount, model.UWYear,
                                                                                   model.CWID, model.AgencyID, model.CFirstName, model.CLastName, model.CheckNumber, model.UWDateCreated, model.UWDateLastEdited);
            }

            return(View());
        }
Пример #9
0
        public void InsertReaction()
        {
            ReactionRepository reactionRepository = new ReactionRepository(new InMemoryDbContextFactory().CreateDbContext());

            UserModel userModel = new UserModel
            {
                Id              = Guid.NewGuid(),
                Name            = "Peter",
                Surname         = "Petigriu",
                Email           = "*****@*****.**",
                Password        = "******",
                TelephoneNumber = "4206666666666"
            };

            GroupModel groupModel = new GroupModel
            {
                Id          = Guid.NewGuid(),
                Name        = "Yzomandias",
                Description = "Skupina pro organizaci vystoupení spolu s umělcem PTK",
            };

            GroupMemberModel groupMemberModel = new GroupMemberModel
            {
                Id         = Guid.NewGuid(),
                User       = userModel,
                Group      = groupModel,
                Permission = PermissionEnum.Moderator
            };

            ContributionModel contributionModel = new ContributionModel
            {
                Id      = Guid.NewGuid(),
                User    = userModel,
                Group   = groupModel,
                Message = "Přijede muzika sraz v 9 večer Severka",
                Title   = "Přijede muzika",
                Time    = DateTime.MaxValue
            };

            ReactionModel reactionModel = new ReactionModel
            {
                Id           = Guid.NewGuid(),
                User         = userModel,
                Contribution = contributionModel,
                ReactionType = ReactionTypeEnum.Booze
            };

            reactionRepository.Insert(reactionModel);
            var reactionRepositoryResponse = reactionRepository.getReactionByUserId(userModel.Id);

            Assert.NotNull(reactionRepositoryResponse);
        }
Пример #10
0
        public async Task <ContributionModel> AddContributionModel(ContributionModel model, string token)
        {
            string responseTxt = await DoWork(string.Format(System.Globalization.CultureInfo.InvariantCulture, CommonConstants.ApiUrlOfPutContribution, CommonConstants.BaseUrl), model, HttpMethod.Post, token, false, false, true);

            if (!string.IsNullOrEmpty(responseTxt))
            {
                var item = JsonConvert.DeserializeObject <ContributionModel>(responseTxt);

                item.ContributionType.Name = item.ContributionType.Name.Replace("Sample Code", "Code Samples");
                return(item);
            }
            return(null);
        }
Пример #11
0
        public async void OnDelete(object sender, EventArgs eventArgs)
        {
            var mi = ((MenuItem)sender);
            ContributionModel contribution = mi.CommandParameter as ContributionModel;

            string result = await MvpHelper.MvpService.DeleteContributionModel(Convert.ToInt32(contribution.ContributionId, System.Globalization.CultureInfo.InvariantCulture), LogOnViewModel.StoredToken);

            if (result == CommonConstants.OkResult)
            {
                var modelToDelete = MyProfileViewModel.Instance.List.Where(item => item.ContributionId == contribution.ContributionId).FirstOrDefault();
                MyProfileViewModel.Instance.List.Remove(modelToDelete);
            }
        }
Пример #12
0
 public void LoadComments()
 {
     Comments.Clear();
     if (LoggedUserID.actualContributionModel != null)
     {
         ContributionModel actualContr = LoggedUserID.actualContributionModel;
         var com = commentRepository.GetAllCommentsOfContributionById(actualContr.Id);
         foreach (var item in com)
         {
             Comments.Add(item);
         }
     }
 }
Пример #13
0
 public void SetTaggedUserInPost(IEnumerable <UserLightModel> users, ContributionModel contribution)
 {
     foreach (var user in users)
     {
         var userTaggModel = new ContributionUserTagModel
         {
             ContributionId = contribution.Id,
             UserId         = user.Id,
             User           = user
         };
         this.contributionUserTagRepository.Add(userTaggModel);
     }
 }
Пример #14
0
        public ActionResult CreateContribution(ContributionModel model)
        {
            ViewBag.Message = "Create new Contribution";

            if (ModelState.IsValid)
            {
                DataLibrary.BusinessLogic.ContributionProcessor.CreateContribution(model.ContributionID, model.UWType, model.UWMonthly, model.UWMonths, model.uwcontributionamount, model.UWYear,
                                                                                   model.CWID, model.AgencyID, model.contributionfname, model.contributionlname, model.CheckNumber, model.UWDateCreated, model.UWDateLastEdited);
                return(RedirectToAction("Contribution"));
            }

            ModelState.Clear();
            return(View());
        }
Пример #15
0
        public IHttpActionResult Approve([FromUri] int contributionId)
        {
            ContributionModel contributionModel = new ContributionModel();

            try
            {
                contributionModel.Approve(contributionId);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok(new { ok = true }));
        }
Пример #16
0
        public IHttpActionResult FreeContributions(int id)
        {
            IEnumerable <Contribution> contributions = null;
            ContributionModel          model         = new ContributionModel();

            try
            {
                contributions = model.GetFreeContributions(id);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok(contributions));
        }
        public void UpdateContribution()
        {
            ContributionRepository contributionRepository = new ContributionRepository(new InMemoryDbContextFactory().CreateDbContext());

            UserModel userModel = new UserModel
            {
                Id              = Guid.NewGuid(),
                Name            = "Martin",
                Surname         = "Vlach",
                Email           = "*****@*****.**",
                Password        = "******",
                TelephoneNumber = "+420420420420"
            };

            GroupModel groupModel = new GroupModel
            {
                Id          = Guid.NewGuid(),
                Name        = "První cenová skupina",
                Description = "Popisek testovací skupiny První cenová skupina"
            };

            ContributionModel contributionModel = new ContributionModel
            {
                Id      = Guid.NewGuid(),
                Group   = groupModel,
                User    = userModel,
                Time    = DateTime.MaxValue,
                Message = "Doufáme, že z projektu dostaneme dostatečný počet bodů",
                Title   = "We bealive"
            };

            contributionRepository.Insert(contributionModel);
            var contributionRepositoryResponse = contributionRepository.GetById(contributionModel.Id);

            Assert.NotNull(contributionRepositoryResponse);
            string new_title = "Nový popisek příspěvku";

            contributionModel.Title = new_title;
            ContributionRepository contributionRepository2 = new ContributionRepository(new InMemoryDbContextFactory().CreateDbContext());

            contributionRepository2.Update(contributionModel);
            var contributionRepositoryResponse2 = contributionRepository2.GetById(contributionModel.Id);

            Assert.Equal(new_title, contributionRepositoryResponse2.Title);
            Assert.Equal(contributionModel.Message, contributionRepositoryResponse2.Message);
        }
Пример #18
0
        public Contribution MapContributionModelToContribution(ContributionModel model)
        {
            if (model == null)
            {
                return(null);
            }

            switch (model)
            {
            case PostModel postModel:
                return(MapPostModelToPost(postModel));

            case CommentModel commentModel:
                return(MapCommentModelToComment(commentModel));

            default:
                throw new Exception("Unknown type of contribution model");
            }
        }
Пример #19
0
        public IHttpActionResult Create(ContributionModel contributionModel)
        {
            Contribution contribution = null;

            try
            {
                contribution = contributionModel.Create();
            }
            catch (ValidateException ex)
            {
                return(UnprocessableEntity(ex.Message));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Created("api", contribution));
        }
Пример #20
0
        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();
            var contributionInfo = BindingContext as ContributionViewModel;

            if (contributionInfo != null && contributionInfo.MyContribution != null)
            {
                var backup = new ContributionModel();
                backup.ContributionType = new ContributionTypeModel()
                {
                    Id = contributionInfo.MyContribution.ContributionType.Id, Name = contributionInfo.MyContribution.ContributionType.Name, EnglishName = contributionInfo.MyContribution.ContributionType.EnglishName
                };
                backup.Visibility = new VisibilityModel()
                {
                    Id = contributionInfo.MyContribution.Visibility.Id, Description = contributionInfo.MyContribution.Visibility.Description, LocalizeKey = contributionInfo.MyContribution.Visibility.LocalizeKey
                };
                backup.ContributionTechnology = new ContributionTechnologyModel()
                {
                    Id = contributionInfo.MyContribution.ContributionTechnology.Id, Name = contributionInfo.MyContribution.ContributionTechnology.Name, AwardName = contributionInfo.MyContribution.ContributionTechnology.AwardName
                };
                //backup.AllAnswersUrl = contributionInfo.MyContribution.AllAnswersUrl;
                //backup.AllPostsUrl = contributionInfo.MyContribution.AllPostsUrl;
                backup.AnnualQuantity       = contributionInfo.MyContribution.AnnualQuantity;
                backup.SecondAnnualQuantity = contributionInfo.MyContribution.SecondAnnualQuantity;
                backup.AnnualReach          = contributionInfo.MyContribution.AnnualReach;
                backup.ContributionId       = contributionInfo.MyContribution.ContributionId;
                backup.StartDate            = contributionInfo.MyContribution.StartDate;
                backup.Description          = contributionInfo.MyContribution.Description;
                backup.Icon = contributionInfo.MyContribution.Icon;
                //backup.IsBelongToLatestAwardCycle = contributionInfo.MyContribution.IsBelongToLatestAwardCycle;
                //backup.IsSystemCollected = contributionInfo.MyContribution.IsSystemCollected;
                backup.LabelTextOfContribution = contributionInfo.MyContribution.LabelTextOfContribution;
                backup.ReferenceUrl            = contributionInfo.MyContribution.ReferenceUrl;
                backup.Title = contributionInfo.MyContribution.Title;
                contributionInfo.MyContributionBackup = backup;
            }
        }
        public async void ButtonSaveClicked(object sender, EventArgs e)
        {
            IProgressDialog progress = null;

            try
            {
                bool isValid = CheckData();
                if (!isValid)
                {
                    return;
                }

                if (!CrossConnectivity.Current.IsConnected)
                {
                    await UserDialogs.Instance.AlertAsync("Please check connectivity to submit activity.", "Check Connectivity", "OK");

                    return;
                }

                IsBusy   = true;
                progress = UserDialogs.Instance.Loading("Saving...", maskType: MaskType.Clear);
                progress.Show();


                if (ViewModel.MyContribution == null)
                {
                    var model = new ContributionModel()
                    {
                        ContributionId         = "0",
                        ContributionType       = ViewModel.ContributionTypeNames[contributionTypeSelector.SelectedIndex],
                        ContributionTechnology = ViewModel.ContributionAreas[ContributionAreaSelector.SelectedIndex],
                        Visibility             = ViewModel.PersonGroups[PersonGroupSelector.SelectedIndex],
                        StartDate            = ContributionDateSelector.Date.ToUniversalTime(),
                        Title                = entryTitle.Text,
                        ReferenceUrl         = entryURL.Text,
                        Description          = entryDescription.Text,
                        AnnualQuantity       = Convert.ToInt32(entryAnnualQuantity.Text, System.Globalization.CultureInfo.InvariantCulture),
                        AnnualReach          = Convert.ToInt32(entryAnnualReach.Text, System.Globalization.CultureInfo.InvariantCulture),
                        SecondAnnualQuantity = Convert.ToInt32(entrySecondAnnualQuantity.Text, System.Globalization.CultureInfo.InvariantCulture)
                    };
                    var result = await MvpHelper.MvpService.AddContributionModel(model, LogOnViewModel.StoredToken);

                    if (result != null && result.ContributionId != "0")
                    {
                        Logger.Log("Activity-Added");
                        MvpHelper.SetLabelTextOfContribution(result);
                        MyProfileViewModel.Instance.List.Insert(0, result);
                        MyProfileViewModel.Instance.TotalOfData += 1;
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    ViewModel.MyContribution.ContributionType       = ViewModel.ContributionTypeNames[contributionTypeSelector.SelectedIndex];
                    ViewModel.MyContribution.ContributionTechnology = ViewModel.ContributionAreas[ContributionAreaSelector.SelectedIndex];
                    ViewModel.MyContribution.Visibility             = ViewModel.PersonGroups[PersonGroupSelector.SelectedIndex];
                    ViewModel.MyContribution.StartDate            = ContributionDateSelector.Date.ToUniversalTime();
                    ViewModel.MyContribution.AnnualQuantity       = Convert.ToInt32(entryAnnualQuantity.Text, System.Globalization.CultureInfo.InvariantCulture);
                    ViewModel.MyContribution.AnnualReach          = Convert.ToInt32(entryAnnualReach.Text, System.Globalization.CultureInfo.InvariantCulture);
                    ViewModel.MyContribution.SecondAnnualQuantity = Convert.ToInt32(entrySecondAnnualQuantity.Text, System.Globalization.CultureInfo.InvariantCulture);
                    string result = await MvpHelper.MvpService.EditContributionModel(ViewModel.MyContribution, LogOnViewModel.StoredToken);

                    if (result == CommonConstants.OkResult)
                    {
                        Logger.Log("Activity-Edit");
                        MyProfileViewModel.Instance.List = new ObservableRangeCollection <ContributionModel>(MyProfileViewModel.Instance.List);
                    }
                    else
                    {
                        var currentContribution = MyProfileViewModel.Instance.List.Where(item => item.ContributionId == ViewModel.MyContribution.ContributionId).FirstOrDefault();
                        int index = MyProfileViewModel.Instance.List.IndexOf(currentContribution);
                        MyProfileViewModel.Instance.List.Remove(currentContribution);
                        MyProfileViewModel.Instance.List.Insert(index, ViewModel.MyContributionBackup);
                        return;
                    }
                }

                ViewModel.MyContribution = null;

#if DEBUG
                await Task.Delay(3000);
#endif

                progress?.Hide();

                await UserDialogs.Instance.AlertAsync("MVP activity has been saved successfully. Thank you for your contribution.", "Saved!", "OK");

                await Navigation.PopModalAsync();
            }
            catch (Exception ex)
            {
                progress?.Hide();
                ViewModel.ErrorMessage = ex.Message;
                await UserDialogs.Instance.AlertAsync("Looks like something went wrong. Please check your connection and submit again. Error: " + ex.Message, "Unable to save", "OK");
            }
            finally
            {
                if (progress?.IsShowing ?? false)
                {
                    progress?.Hide();
                }
                IsBusy = false;
            }
        }
Пример #22
0
 public Task <string> EditContributionModel(ContributionModel model, string token)
 {
     return(Task.FromResult("OK"));
 }
Пример #23
0
        public ActionResult ContributionYears(int id)
        {
            var m = new ContributionModel(id);

            return(View(m));
        }
Пример #24
0
        public static void SetLabelTextOfContribution(ContributionModel contribution)
        {
            string icon      = string.Empty;
            string labelText = string.Empty;

            if (contribution.ContributionType == null)
            {
                labelText = CommonConstants.AnnualReachTipTextDefault;
            }
            else
            {
                switch (contribution.ContributionType.Name)
                {
                case CommonConstants.AT:
                    labelText = CommonConstants.AnnualReachTipTextForArticle;
                    break;

                case CommonConstants.Bsp:
                    labelText = CommonConstants.AnnualReachTipTextForPosts;
                    break;

                case CommonConstants.BA:
                case CommonConstants.Bca:
                    labelText = CommonConstants.AnnualReachTipTextForBook;
                    break;

                case CommonConstants.CS:
                    labelText = CommonConstants.AnnualReachTipTextForSamples;
                    break;

                case CommonConstants.Cpt:
                    labelText = CommonConstants.AnnualReachTipTextForProject;
                    break;

                case CommonConstants.Cbp:
                case CommonConstants.CO:
                    labelText = CommonConstants.AnnualReachTipTextForConference;
                    break;

                case CommonConstants.FM:
                    labelText = CommonConstants.AnnualReachTipTextForForumModerator;
                    break;

                case CommonConstants.FP:
                    labelText = CommonConstants.AnnualReachTipTextForForumParticipation;
                    break;

                case CommonConstants.Fpmf:
                    labelText = CommonConstants.AnnualReachTipTextForForumParticipation;
                    break;

                case CommonConstants.MS:
                    labelText = CommonConstants.AnnualReachTipTextForMentorship;
                    break;

                case CommonConstants.Osp:
                    labelText = CommonConstants.AnnualReachTipTextForOpenSource;
                    break;

                case CommonConstants.OT:
                    labelText = CommonConstants.AnnualReachTipTextForOther;
                    break;

                case CommonConstants.Pcf:
                    labelText = CommonConstants.AnnualReachTipTextForFeedback;
                    break;

                case CommonConstants.Pgf:
                case CommonConstants.Pgfg:
                    labelText = CommonConstants.AnnualReachTipTextForFeedback;
                    break;

                case CommonConstants.Pgi:
                    labelText = CommonConstants.AnnualReachTipTextForFeedback;
                    break;

                case CommonConstants.Ptdp:
                    labelText = CommonConstants.AnnualReachTipTextForFeedback;
                    break;

                case CommonConstants.SO:
                    labelText = CommonConstants.AnnualReachTipTextForSiteOwner;
                    break;

                case CommonConstants.SC:
                case CommonConstants.SL:
                case CommonConstants.Sug:
                    labelText = CommonConstants.AnnualReachTipTextForSpeaking;
                    break;

                case CommonConstants.Tsm:
                    labelText = CommonConstants.AnnualReachTipTextForSocialMedia;
                    break;

                case CommonConstants.Trfe:
                    labelText = CommonConstants.AnnualReachTipTextForTranslationReviewFeedbackEditing;
                    break;

                case CommonConstants.Ugo:
                    labelText = CommonConstants.AnnualReachTipTextForUserGroupOwner;
                    break;

                case CommonConstants.VD:
                    labelText = CommonConstants.AnnualReachTipTextForVideo;
                    break;

                case CommonConstants.WB:
                    labelText = CommonConstants.AnnualReachTipTextForVideo;
                    break;

                case CommonConstants.WP:
                    labelText = CommonConstants.AnnualReachTipTextForWebsitePosts;
                    break;

                default:
                    labelText = CommonConstants.AnnualReachTipTextDefault;
                    break;
                }
            }

            contribution.LabelTextOfContribution = labelText;
        }
Пример #25
0
        public async void OnSaveClicked(object sender, EventArgs e)
        {
            try
            {
                bool isValid = CheckData();
                if (!isValid)
                {
                    return;
                }

                if (ContributionViewModel.Instance.MyContribution == null)
                {
                    var model = new ContributionModel()
                    {
                        ContributionId         = "0",
                        ContributionType       = ContributionViewModel.Instance.ContributionTypeNames[contributionTypeSelector.SelectedIndex],
                        ContributionTechnology = ContributionViewModel.Instance.ContributionAreas[ContributionAreaSelector.SelectedIndex],
                        Visibility             = ContributionViewModel.Instance.PersonGroups[PersonGroupSelector.SelectedIndex],
                        StartDate            = ContributionDateSelector.Date.ToUniversalTime(),
                        Title                = entryTitle.Text,
                        ReferenceUrl         = entryURL.Text,
                        Description          = entryDescription.Text,
                        AnnualQuantity       = Convert.ToInt32(entryAnnualQuantity.Text),
                        AnnualReach          = Convert.ToInt32(entryAnnualReach.Text),
                        SecondAnnualQuantity = Convert.ToInt32(entrySecondAnnualQuantity.Text)
                    };
                    var result = await MvpService.AddContributionModel(model, LoginViewModel.StoredToken);

                    if (result != null && result.ContributionId != "0")
                    {
                        Helpers.MvpHelper.SetIconAndLabelTextOfContribution(result);
                        MyProfileViewModel.Instance.List.Insert(0, result);
                        MyProfileViewModel.Instance.TotalOfData += 1;
                    }
                }
                else
                {
                    ContributionViewModel.Instance.MyContribution.ContributionType       = ContributionViewModel.Instance.ContributionTypeNames[contributionTypeSelector.SelectedIndex];
                    ContributionViewModel.Instance.MyContribution.ContributionTechnology = ContributionViewModel.Instance.ContributionAreas[ContributionAreaSelector.SelectedIndex];
                    ContributionViewModel.Instance.MyContribution.Visibility             = ContributionViewModel.Instance.PersonGroups[PersonGroupSelector.SelectedIndex];
                    ContributionViewModel.Instance.MyContribution.StartDate            = ContributionDateSelector.Date.ToUniversalTime();
                    ContributionViewModel.Instance.MyContribution.AnnualQuantity       = Convert.ToInt32(entryAnnualQuantity.Text);
                    ContributionViewModel.Instance.MyContribution.AnnualReach          = Convert.ToInt32(entryAnnualReach.Text);
                    ContributionViewModel.Instance.MyContribution.SecondAnnualQuantity = Convert.ToInt32(entrySecondAnnualQuantity.Text);
                    string result = await MvpService.EditContributionModel(ContributionViewModel.Instance.MyContribution, LoginViewModel.StoredToken);

                    if (result == CommonConstants.OKResult)
                    {
                        MyProfileViewModel.Instance.List = new ObservableCollection <ContributionModel>(MyProfileViewModel.Instance.List);
                    }
                    else
                    {
                        var m     = MyProfileViewModel.Instance.List.Where(item => item.ContributionId == ContributionViewModel.Instance.MyContribution.ContributionId).FirstOrDefault();
                        int index = MyProfileViewModel.Instance.List.IndexOf(m);
                        MyProfileViewModel.Instance.List.Remove(m);
                        MyProfileViewModel.Instance.List.Insert(index, ContributionViewModel.Instance.MyContributionBackup);
                    }
                }

                ContributionViewModel.Instance.MyContribution = null;
                await Navigation.PushModalAsync(new MyProfile());
            }
            catch (Exception ex)
            {
                ContributionViewModel.Instance.ErrorMessage = ex.Message;
            }
        }
Пример #26
0
        public async Task <string> EditContributionModel(ContributionModel model, string token)
        {
            string responseTxt = await DoWork(string.Format(System.Globalization.CultureInfo.InvariantCulture, CommonConstants.ApiUrlOfPostContribution, CommonConstants.BaseUrl), model, HttpMethod.Put, token, false, false, true);

            return(responseTxt);
        }
Пример #27
0
        static void testRepo()
        {
            CommunicationDbContext ctx = new CommunicationDbContext();
            ReactionRepository     reactionRepository     = new ReactionRepository(ctx);
            UserRepository         userRepository         = new UserRepository(ctx);
            CommentRepository      commentRepository      = new CommentRepository(ctx);
            ContributionRepository contributionRepository = new ContributionRepository(ctx);

            UserModel userModel = new UserModel
            {
                Id              = Guid.NewGuid(),
                Name            = "Pavel",
                Surname         = "Dvorak",
                Email           = "*****@*****.**",
                Password        = "******",
                TelephoneNumber = "+420420420420"
            };

            UserModel userModel2 = new UserModel
            {
                Id              = Guid.NewGuid(),
                Name            = "Petr",
                Surname         = "Novak",
                Email           = "*****@*****.**",
                Password        = "******",
                TelephoneNumber = "+420420420420"
            };

            ContributionModel contribution1 = new ContributionModel
            {
                Id      = Guid.NewGuid(),
                Message = "AhojQy,dneska v druzine byl na obed krtkův dort <3, to byl náhul",
                User    = userModel,
                Time    = DateTime.Now
            };

            CommentModel commentModel1 = new CommentModel
            {
                Id           = Guid.NewGuid(),
                Message      = "No a co",
                Time         = DateTime.Now,
                User         = userModel,
                Contribution = contribution1
            };

            CommentModel commentModel2 = new CommentModel
            {
                Id           = Guid.NewGuid(),
                Message      = "Mnam dopi..",
                Time         = DateTime.Now,
                User         = userModel,
                Contribution = contribution1
            };

            userRepository.Insert(userModel);
            //userRepository.Insert(userModel2);
            contributionRepository.Insert(contribution1);
            commentRepository.Insert(commentModel1);
            commentRepository.Insert(commentModel2);

            var userResponse        = userRepository.GetById(userModel.Id);
            var contributionReponse = contributionRepository.GetById(contribution1.Id);
            var commentResponse     = commentRepository.GetCommentByUserId(userModel.Id);

            Console.Write("ID: " + userResponse.Id);
            Console.Write("\nNAME: " + userResponse.Name);
            Console.Write("\nEmail: " + userResponse.Email);
            Console.Write("\n\tStatus: " + contributionReponse.Message);
            Console.Write("\n\t\tComments: ");
            foreach (var comment in commentResponse)
            {
                Console.Write("\n\t\tMessage: " + comment.Message);
            }

            LoginService loginService = new LoginService();

            loginService.register("Jmeno", "Prijmeni", "*****@*****.**", "heslo123", "123456789", null);

            var userByEmail = loginService.LoadUserByEmail("*****@*****.**", "heslo123");

            Console.Write("\nLoadUserByUsername: "******"*****@*****.**");
            try
            {
                userByEmail = loginService.LoadUserByEmail("*****@*****.**", "heslo123");
                Console.Write("\nChyba ");
            }
            catch (LoginException ex)
            {
                Console.Write("\nLoadUserByUsername: " + ex.Message);
            }

            userRepository.Delete(userByEmail);
            userRepository.Delete(userModel);
            Console.ReadKey();
        }
Пример #28
0
        public static void SetIconAndLabelTextOfContribution(ContributionModel contribution)
        {
            string icon              = string.Empty;
            string labelText         = string.Empty;
            string StrWPResourcePath = (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows) ? CommonConstants.ImageFolderForWP : string.Empty;

            if (contribution.ContributionType == null)
            {
                icon      = CommonConstants.DefaultContributionIcon;
                labelText = "Number of Views";
            }
            else
            {
                switch (contribution.ContributionType.Name)
                {
                case CommonConstants.AT:
                    icon      = CommonConstants.BlogIcon;
                    labelText = "Number of Views";
                    break;

                case CommonConstants.Bsp:
                    icon      = CommonConstants.BlogIcon;
                    labelText = "Annual Unique Visitors";
                    break;

                case CommonConstants.BA:
                case CommonConstants.Bca:
                    icon      = CommonConstants.BookIcon;
                    labelText = "Copies sold";
                    break;

                case CommonConstants.CS:
                    icon      = CommonConstants.CodeIcon;
                    labelText = "Number of Downloads";
                    break;

                case CommonConstants.Cpt:
                    icon      = CommonConstants.CodeIcon;
                    labelText = "Number of Downloads";
                    break;

                case CommonConstants.Cbp:
                case CommonConstants.CO:
                    icon      = CommonConstants.SpeakerIcon;
                    labelText = "Number of Visitors";
                    break;

                case CommonConstants.FM:
                    icon      = CommonConstants.DiscussionIcon;
                    labelText = "Annual reach";
                    break;

                case CommonConstants.FP:
                    icon      = CommonConstants.DiscussionIcon;
                    labelText = "View of answers";
                    break;

                case CommonConstants.Fpmf:
                    icon      = CommonConstants.DiscussionIcon;
                    labelText = "View of answers";
                    break;

                case CommonConstants.MS:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Annual reach";
                    break;

                case CommonConstants.Osp:
                    icon      = CommonConstants.CodeIcon;
                    labelText = "Commits";
                    break;

                case CommonConstants.OT:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Annual reach";
                    break;

                case CommonConstants.Pcf:
                    icon      = CommonConstants.FeedbackIcon;
                    labelText = "Number of Feedbacks provided";
                    break;

                case CommonConstants.Pgf:
                case CommonConstants.Pgfg:
                    icon      = CommonConstants.FeedbackIcon;
                    labelText = "Number of Feedbacks provided";
                    break;

                case CommonConstants.Pgi:
                    icon      = CommonConstants.FeedbackIcon;
                    labelText = "Number of Feedbacks provided";
                    break;

                case CommonConstants.Ptdp:
                    icon      = CommonConstants.FeedbackIcon;
                    labelText = "Number of Feedbacks provided";
                    break;

                case CommonConstants.SO:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Visitors";
                    break;

                case CommonConstants.SC:
                case CommonConstants.SL:
                case CommonConstants.Sug:
                    icon      = CommonConstants.SpeakerIcon;
                    labelText = "Attendees of talks";
                    break;

                case CommonConstants.Tsm:
                    icon      = CommonConstants.VideoIcon;
                    labelText = "Number of Followers";
                    break;

                case CommonConstants.Trfe:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Annual reach";
                    break;

                case CommonConstants.Ugo:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Members";
                    break;

                case CommonConstants.VD:
                    icon      = CommonConstants.VideoIcon;
                    labelText = "Number of Views";
                    break;

                case CommonConstants.WB:
                    icon      = CommonConstants.VideoIcon;
                    labelText = "Number of Views";
                    break;

                case CommonConstants.WP:
                    icon      = CommonConstants.VideoIcon;
                    labelText = "Annual Unique Visitors";
                    break;

                default:
                    icon      = CommonConstants.DefaultContributionIcon;
                    labelText = "Number of Views";
                    break;
                }
            }

            contribution.LabelTextOfContribution = labelText;
            contribution.Icon = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}{1}", StrWPResourcePath, icon);
        }
Пример #29
0
        public void GetGetAllCommentsOfContributionById()
        {
            InMemoryDbContextFactory Db = new InMemoryDbContextFactory();
            var dbContext = Db.CreateDbContext();

            ContributionRepository contributionRepository = new ContributionRepository(dbContext);
            CommentRepository      commentRepository      = new CommentRepository(dbContext);

            ContributionModel contributionModel1 = new ContributionModel()
            {
                Id = Guid.NewGuid(),
            };

            ContributionModel contributionModel2 = new ContributionModel()
            {
                Id = Guid.NewGuid(),
            };

            ContributionModel contributionModel3 = new ContributionModel()
            {
                Id = Guid.NewGuid(),
            };

            contributionRepository.Insert(contributionModel1);
            contributionRepository.Insert(contributionModel2);
            contributionRepository.Insert(contributionModel3);

            var contributionRepositoryResponse1 = contributionRepository.GetById(contributionModel1.Id);
            var contributionRepositoryResponse2 = contributionRepository.GetById(contributionModel2.Id);
            var contributionRepositoryResponse3 = contributionRepository.GetById(contributionModel3.Id);

            Assert.NotNull(contributionRepositoryResponse1);
            Assert.NotNull(contributionRepositoryResponse2);
            Assert.NotNull(contributionRepositoryResponse3);

            dbContext.DetachAllEntities();

            CommentModel commentModel1 = new CommentModel
            {
                Id           = Guid.NewGuid(),
                Message      = "Ahoj",
                Contribution = contributionModel1
            };

            CommentModel commentModel2 = new CommentModel
            {
                Id           = Guid.NewGuid(),
                Message      = "světe",
                Contribution = contributionModel1
            };

            CommentModel commentModel3 = new CommentModel
            {
                Id           = Guid.NewGuid(),
                Message      = "Lorem",
                Contribution = contributionModel2
            };

            commentRepository.Insert(commentModel1);
            commentRepository.Insert(commentModel2);
            commentRepository.Insert(commentModel3);

            var commentRepositoryResponse1 = commentRepository.GetById(commentModel1.Id);
            var commentRepositoryResponse2 = commentRepository.GetById(commentModel2.Id);
            var commentRepositoryResponse3 = commentRepository.GetById(commentModel3.Id);

            Assert.NotNull(commentRepositoryResponse1);
            Assert.NotNull(commentRepositoryResponse2);
            Assert.NotNull(commentRepositoryResponse3);

            var contr1Id = contributionModel1.Id;
            var contr2Id = contributionModel2.Id;

            List <CommentModel> commentList1 = new List <CommentModel>();

            commentList1.Add(commentModel1);
            commentList1.Add(commentModel2);

            contributionModel1.Comments = commentList1;

            List <CommentModel> commentList2 = new List <CommentModel>();

            commentList2.Add(commentModel3);

            contributionModel2.Comments = commentList2;

            var commentRepositoryResponseCon1 = commentRepository.GetAllCommentsOfContributionById(contr1Id);

            Assert.NotNull(commentRepositoryResponseCon1);
            Assert.Equal(commentRepositoryResponseCon1.ElementAt(0).Id, commentModel1.Id);
            Assert.Equal(commentRepositoryResponseCon1.ElementAt(1).Id, commentModel2.Id);

            var commentRepositoryResponseCon2 = commentRepository.GetAllCommentsOfContributionById(contr2Id);

            Assert.NotNull(commentRepositoryResponseCon2);
            Assert.Equal(commentRepositoryResponseCon2.ElementAt(0).Id, commentModel3.Id);
        }
        public void GetGetAllContributionsInGroupById()
        {
            InMemoryDbContextFactory Db = new InMemoryDbContextFactory();
            var dbContext = Db.CreateDbContext();

            ContributionRepository contributionRepository = new ContributionRepository(dbContext);
            GroupRepository        groupRepository        = new GroupRepository(dbContext);

            GroupModel groupModel1 = new GroupModel
            {
                Id          = Guid.NewGuid(),
                Name        = "První skupina",
                Description = "Popisek1",
            };

            GroupModel groupModel2 = new GroupModel
            {
                Id          = Guid.NewGuid(),
                Name        = "Druhá skupina",
                Description = "Popisek2",
            };

            groupRepository.Insert(groupModel1);
            groupRepository.Insert(groupModel2);

            var groupRepositoryResponse1 = groupRepository.GetById(groupModel1.Id);
            var groupRepositoryResponse2 = groupRepository.GetById(groupModel2.Id);

            Assert.NotNull(groupRepositoryResponse1);
            Assert.NotNull(groupRepositoryResponse2);

            dbContext.DetachAllEntities();

            ContributionModel contributionModel1 = new ContributionModel()
            {
                Id    = Guid.NewGuid(),
                Group = groupModel1
            };

            ContributionModel contributionModel2 = new ContributionModel()
            {
                Id    = Guid.NewGuid(),
                Group = groupModel1
            };

            ContributionModel contributionModel3 = new ContributionModel()
            {
                Id    = Guid.NewGuid(),
                Group = groupModel2
            };

            contributionRepository.Insert(contributionModel1);
            contributionRepository.Insert(contributionModel2);
            contributionRepository.Insert(contributionModel3);

            var contributionRepositoryResponse1 = contributionRepository.GetById(contributionModel1.Id);
            var contributionRepositoryResponse2 = contributionRepository.GetById(contributionModel2.Id);
            var contributionRepositoryResponse3 = contributionRepository.GetById(contributionModel3.Id);

            Assert.NotNull(contributionRepositoryResponse1);
            Assert.NotNull(contributionRepositoryResponse2);
            Assert.NotNull(contributionRepositoryResponse3);

            var group1Id = groupModel1.Id;
            var group2Id = groupModel2.Id;

            List <ContributionModel> contrList1 = new List <ContributionModel>();

            contrList1.Add(contributionModel1);
            contrList1.Add(contributionModel2);

            groupModel1.Contributions = contrList1;

            List <ContributionModel> contrList2 = new List <ContributionModel>();

            contrList2.Add(contributionModel3);

            groupModel2.Contributions = contrList2;

            var contributionRepositoryResponseGroup1 = contributionRepository.GetAllContributionsInGroupById(group1Id);

            Assert.NotNull(contributionRepositoryResponseGroup1);
            Assert.Equal(contributionRepositoryResponseGroup1.ElementAt(0).Id, contributionModel1.Id);
            Assert.Equal(contributionRepositoryResponseGroup1.ElementAt(1).Id, contributionModel2.Id);

            var contributionRepositoryResponseGroup2 = contributionRepository.GetAllContributionsInGroupById(group2Id);

            Assert.NotNull(contributionRepositoryResponseGroup2);
            Assert.Equal(contributionRepositoryResponseGroup2.ElementAt(0).Id, contributionModel3.Id);
        }