public OperationResult <IDataDTO> CreateVote(IVoteDTO voteDTO) { OperationResult <IDataDTO> retVal = null; try { IAnswerDAC answerDAC = (IAnswerDAC)DACFactory.Instance.Create(DACType.AnswerDAC); IDataDTO resultDTO = answerDAC.CreateVote(voteDTO); if (resultDTO != null) { retVal = OperationResult <IDataDTO> .CreateSuccessResult(resultDTO); } else { retVal = OperationResult <IDataDTO> .CreateFailureResult("Failed to edit!"); } } catch (DACException dacEx) { retVal = OperationResult <IDataDTO> .CreateErrorResult(dacEx.Message, dacEx.StackTrace); } catch (Exception ex) { ExceptionManager.HandleException(ex); retVal = OperationResult <IDataDTO> .CreateErrorResult(ex.Message, ex.StackTrace); } return(retVal); }
public IDataDTO CreateVote(IVoteDTO voteDTO) { using (var context = new BufferOverflowDBEntities()) { var voteEntity = context.Votes.SingleOrDefault(v => v.UserId == voteDTO.UserId && v.AnswerId == voteDTO.AnswerId); //context.Votes.Where(v => v.Id == voteDTO.Id).Distinct(); if (voteEntity == null) { Votes vote = new Votes(); EntityConverter.FillEntityFromDTO(voteDTO, vote); context.Votes.Add(vote); context.SaveChanges(); } else if (voteEntity.Vote != voteDTO.Vote) { voteEntity.Vote = voteDTO.Vote; context.SaveChanges(); } var countUp = context.Votes.Where(c => c.Vote == 1 && c.AnswerId == voteDTO.AnswerId).Count(); var countDown = context.Votes.Where(c => c.Vote == 2 && c.AnswerId == voteDTO.AnswerId).Count(); int totalVotes = countUp - countDown; IDataDTO dataDTO = (IDataDTO)DTOFactory.Instance.Create(DTOType.DataDTO); dataDTO.TotalVote = totalVotes; dataDTO.VoteDetail = voteDTO; return(dataDTO); } }
public IHttpActionResult CreateVote([FromBody] Votes vote) { IVoteDTO votesDTO = (IVoteDTO)DTOFactory.Instance.Create(DTOType.VoteDTO); EntityConverter.FillDTOFromEntity(vote, votesDTO); IAnswerFacade answerFacade = (IAnswerFacade)FacadeFactory.Instance.Create(FacadeType.AnswerFacade); OperationResult <IDataDTO> result = answerFacade.CreateVote(votesDTO); if (result.ResultType == OperationResultType.Failure) { string failed = JsonConvert.SerializeObject(new { success = false, data = result.Message }); return(BadRequest(failed)); } if (result.IsValid()) { Data dataModel = new Data(); EntityConverter.FillEntityFromDTO(result.Data.VoteDetail, dataModel.VoteDetail); dataModel.TotalVote = result.Data.TotalVote; string success = JsonConvert.SerializeObject(new { success = true, data = dataModel }); return(Ok(success)); } string jsonObj = JsonConvert.SerializeObject(new { success = false, data = result.Message }); return(BadRequest(jsonObj)); }
public List <IDataDTO> GetAnswers(IAnswerDTO answerDTO) { using (var context = new BufferOverflowDBEntities()) { List <IDataDTO> listOfAnswers = null; var answerEntityList = context.Answers.Where(a => a.QuestionId == answerDTO.QuestionId).ToList(); if (answerEntityList != null) { listOfAnswers = new List <IDataDTO>(); foreach (var answerEntity in answerEntityList) { IAnswerDTO ansDTO = (IAnswerDTO)DTOFactory.Instance.Create(DTOType.AnswerDTO); EntityConverter.FillDTOFromEntity(answerEntity, ansDTO); // Getting user var userEntity = context.User.SingleOrDefault(u => u.Id == answerEntity.UserId); IUserDTO userDTO = (IUserDTO)DTOFactory.Instance.Create(DTOType.UserDTO); EntityConverter.FillDTOFromEntity(userEntity, userDTO); userDTO.Password = ""; // Getting votes var voteEntity = context.Votes.SingleOrDefault(v => v.UserId == userEntity.Id && v.AnswerId == answerEntity.Id); IVoteDTO voteDTO = (IVoteDTO)DTOFactory.Instance.Create(DTOType.VoteDTO); if (voteEntity != null) { EntityConverter.FillDTOFromEntity(voteEntity, voteDTO); } else { voteDTO.Vote = 0; } var countUp = context.Votes.Where(c => c.Vote == 1 && c.AnswerId == voteDTO.AnswerId).Count(); var countDown = context.Votes.Where(c => c.Vote == 2 && c.AnswerId == voteDTO.AnswerId).Count(); int totalVotes = countUp - countDown; IDataDTO dataDTO = (IDataDTO)DTOFactory.Instance.Create(DTOType.DataDTO); dataDTO.AnswerDetail = ansDTO; dataDTO.UserDetail = userDTO; dataDTO.VoteDetail = voteDTO; dataDTO.TotalVote = totalVotes; listOfAnswers.Add(dataDTO); } } Console.WriteLine("Hello hi " + listOfAnswers[0].TotalVote); return(listOfAnswers); } }
public OperationResult <IDataDTO> CreateVote(IVoteDTO voteDTO) { IAnswerBDC answerBDC = (IAnswerBDC)BDCFactory.Instance.Create(BDCType.AnswerBDC); return(answerBDC.CreateVote(voteDTO)); }