public async ValueTask <IActionResult> Post([FromBody] SponsorBase model)
        {
            if (ModelState.IsValid)
            {
                var checker = await _repo.Item().Where(c => c.Name == model.Name).FirstOrDefaultAsync();

                if (checker != null)
                {
                    return(BadRequest(new ErrorDTO {
                        Message = "Sponsor already exists"
                    }));
                }
                Sponsor sponsor = model.Convert <SponsorBase, Sponsor>(_mapper);
                (bool succeeded, Sponsor addedSponsor, string error) = await _repo.Add(sponsor);

                if (succeeded)
                {
                    return(Ok(addedSponsor.Convert <Sponsor, SponsorBase>(_mapper)));
                }
                return(BadRequest(new ErrorDTO {
                    Message = error
                }));
            }
            return(BadRequest(new ErrorDTO {
                Errors = ModelState.Values.SelectMany(e => e.Errors).ToList()
            }));
        }
 public void DeleteSponsor(SponsorBase sponsor)
 {
     Requires.NotNull(sponsor);
     Requires.PropertyNotNegative(sponsor, "SponsorId");
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <SponsorBase>();
         rep.Delete(sponsor);
     }
 }
 public void UpdateSponsor(SponsorBase sponsor, int userId)
 {
     Requires.NotNull(sponsor);
     Requires.PropertyNotNegative(sponsor, "SponsorId");
     sponsor.LastModifiedByUserID = userId;
     sponsor.LastModifiedOnDate   = DateTime.Now;
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <SponsorBase>();
         rep.Update(sponsor);
     }
 }
 public int AddSponsor(ref SponsorBase sponsor, int userId)
 {
     Requires.NotNull(sponsor);
     sponsor.CreatedByUserID      = userId;
     sponsor.CreatedOnDate        = DateTime.Now;
     sponsor.LastModifiedByUserID = userId;
     sponsor.LastModifiedOnDate   = DateTime.Now;
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <SponsorBase>();
         rep.Insert(sponsor);
     }
     return(sponsor.SponsorId);
 }
        public async ValueTask <IActionResult> Get(int id, bool projects = false)
        {
            Sponsor sponsor = null;

            if (!projects)
            {
                sponsor = await _repo.Item()
                          .Where(c => c.Id == id)
                          .FirstOrDefaultAsync();

                if (sponsor != null)
                {
                    SponsorBase model = sponsor.Convert <Sponsor, SponsorBase>(_mapper);
                    return(Ok(model));
                }
            }
            else
            {
                sponsor = await _repo.Item()
                          .Where(c => c.Id == id)
                          .Include(c => c.Projects)
                          .ThenInclude(p => p.Comments)
                          .FirstOrDefaultAsync();

                if (sponsor != null)
                {
                    SponsorDTO        model = sponsor.ConvertToDTO(_mapper);
                    SponsorProjectDTO dto   = new SponsorProjectDTO
                    {
                        Sponsor = model,
                        Total   = sponsor.Projects.Count()
                    };
                    return(Ok(dto));
                }
            }
            return(NotFound(new ErrorDTO {
                Message = "Item not found"
            }));
        }
        public async ValueTask <IActionResult> Put([FromBody] SponsorBase model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id != 0)
                {
                    Sponsor sponsor = model.Convert <SponsorBase, Sponsor>(_mapper);
                    (bool succeeded, Sponsor updatedSponsor, string error) = await _repo.Update(sponsor, model.Id);

                    if (succeeded)
                    {
                        return(Ok(updatedSponsor.Convert <Sponsor, SponsorBase>(_mapper)));
                    }
                    return(NotFound(new ErrorDTO {
                        Message = error
                    }));
                }
            }
            return(BadRequest(new ErrorDTO {
                Errors = ModelState.Values.SelectMany(e => e.Errors).ToList()
            }));
        }
示例#7
0
        public ActionResult Edit(SponsorBase sponsor, int conferenceId, HttpPostedFileBase image)
        {
            sponsor.ConferenceId = conferenceId;
            sponsor.Name         = sponsor.Name.Trim();
            sponsor.Url          = sponsor.Url.TrimSafeNull();
            var previousRecord = _repository.GetSponsor(sponsor.SponsorId);

            if (previousRecord == null)
            {
                _repository.AddSponsor(ref sponsor, User.UserID);
            }
            else
            {
                sponsor.CreatedOnDate   = previousRecord.CreatedOnDate;
                sponsor.CreatedByUserID = previousRecord.CreatedByUserID;
                _repository.UpdateSponsor(sponsor, User.UserID);
            }
            if (image != null)
            {
                sponsor.SaveLogo(PortalSettings, image.InputStream, System.IO.Path.GetExtension(image.FileName));
            }
            return(ReturnRoute("Sponsor", "Index", "ConferenceId=" + conferenceId.ToString()));
        }