Exemplo n.º 1
0
        public ActionResult Submit([FromBody] ContestModel contestModel)
        {
            SerialNumber serialNumber = serialNumberRepository.Get(contestModel.SerialNumber);

            if (serialNumber == null)
            {
                return(BadRequest("Bad serial number"));
            }

            ContestParticipant participant = contestParticipantRepository.Get(contestModel.Email, contestModel.FirstName, contestModel.LastName);

            if (participant == null && serialNumber.ContestParticipantId != null)
            {
                return(BadRequest("Bad serial number"));
            }
            if (participant == null)
            {
                participant = new ContestParticipant {
                    Email     = contestModel.Email,
                    FirstName = contestModel.FirstName,
                    LastName  = contestModel.LastName
                };
                contestParticipantRepository.Create(participant);
            }

            if (serialNumber.ContestParticipantId == null)
            {
                serialNumber.ContestParticipantId = participant.Id;
                serialNumber.Redeemed             = 1;
                serialNumberRepository.Update(serialNumber);
            }
            else
            {
                bool found = false;
                foreach (SerialNumber sn in participant.SerialNumbers)
                {
                    if (sn.Number != contestModel.SerialNumber)
                    {
                        continue;
                    }
                    if (sn.Redeemed >= 2)
                    {
                        return(BadRequest("Serial number is already redemed 2 times"));
                    }
                    found = true;
                    sn.Redeemed++;
                    contestParticipantRepository.Update(participant);
                }
                if (!found)
                {
                    return(BadRequest("Bad serial number"));
                }
            }

            return(new OkResult());
        }
 public ActionResult Edit([FromBody] SerialNumber serialNumber)
 {
     try
     {
         SerialNumberRepository.Update(serialNumber);
     }
     catch (Exception)
     {
         return(BadRequest("Error while creating"));
     }
     return(NoContent());
 }
Exemplo n.º 3
0
 private void ModifySerialNumbers(Product Item, List <SerialNumber> serialnumbers)
 {
     foreach (var number in serialnumbers)
     {
         if (number.Id != 0)
         {
             if (number.Modified)
             {
                 SerianNumberRepo.Update(number);
             }
         }
         else
         {
             number.ProductId = Item.Id;
             SerianNumberRepo.Save(number);
         }
     }
 }
Exemplo n.º 4
0
 public async Task <bool> UpdateCurrentNumber(SerialNumber serialNumber)
 {
     return(await _serialNumberRepository.Update(serialNumber));
 }