Beispiel #1
0
        public async Task <ServiceResponse <List <GetLitterDto> > > DeleteLitter(int id)
        {
            ServiceResponse <List <GetLitterDto> > serviceResponse = new ServiceResponse <List <GetLitterDto> >();

            try
            {
                Litter Litter = await _context.Litters.FirstAsync(c => c.Id == id && c.User.Id == GetUserId());

                if (Litter != null)
                {
                    _context.Litters.Remove(Litter);
                    await _context.SaveChangesAsync();

                    serviceResponse.Data = await GetAllRecords();
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = "Litter not found.";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }

            return(serviceResponse);
        }
        public int GetNumberOfDogsFromLitter(Litter litter)
        {
            var        dogsInLitter = context.Dogs.Where(d => d.LitterId == litter.Id);
            List <Dog> numberOfDogs = dogsInLitter.Where(d => d.isReserved == false).ToList();

            return(numberOfDogs.Count);
        }
        public ActionResult GetDogsFromLitter(int?id)
        {
            var dogsFromDb = context.Dogs.Where(d => d.LitterId == id)
                             .Include(d => d.Collar)
                             .Include(d => d.Gender)
                             .Include(d => d.Litter)
                             .Include(d => d.Image);

            var unreservedDogs = dogsFromDb.Where(d => d.isReserved == false).ToList();

            Litter litter = context.Litters.Include(l => l.Coat)
                            .Include(l => l.Size)
                            .FirstOrDefault(l => l.Id == id);

            LitterViewModel viewModel = new LitterViewModel
            {
                Litter = litter,
                Dogs   = unreservedDogs,
            };

            if (User.IsInRole(RoleName.Breeder))
            {
                return(View("PupsFromLitter", viewModel));
            }

            return(View("ReservationList", viewModel));
        }
        public ActionResult Save(Litter litter)
        {
            if (litter.Id == 0)
            {
                context.Litters.Add(litter);
            }
            else
            {
                Litter litterFromDb = context.Litters.Single(l => l.Id == litter.Id);
                litterFromDb.Name   = litter.Name;
                litterFromDb.CoatId = litter.CoatId;
                litterFromDb.SizeId = litter.SizeId;

                if (litter.DueDate.Year != 1)
                {
                    litterFromDb.DueDate = litter.DueDate;
                }
                if (litter.SendHomeDate.Year != 1)
                {
                    litterFromDb.SendHomeDate = litter.SendHomeDate;
                }
            }

            context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        private IActionResult ResponseForFacebook(GoogleRequest data1)
        {
            _logger.LogInformation("facebook");

            var attachments = data1?.OriginalDetectIntentRequest?.Payload?.Data?.Message?.Attachments;

            if (attachments != null && attachments.Any(x => x.Type.Equals("image", _stringcompare)))
            {
                _logger.LogInformation("pic is sent, creating");

                var entity = new Litter
                {
                    UserId   = data1.OriginalDetectIntentRequest.Payload.Data.Sender.Id,
                    ImageUrl = attachments.First().Payload.Url
                };

                _context.Litters.Add(entity);
                _context.SaveChanges();

                return(ResponseShareLocation());
            }
            else if (data1?.OriginalDetectIntentRequest?.Payload?.Data?.Postback?.Payload != null &&
                     data1.OriginalDetectIntentRequest.Payload.Data.Postback.Payload.Contains("LOCATION", _stringcompare))
            {
                _logger.LogInformation("Location is sent, updating ");

                var coords = data1?.OriginalDetectIntentRequest?.Payload?.Data?.Postback?.Data;
                if (coords == null)
                {
                    return(BadRequest());
                }

                var userId = data1.OriginalDetectIntentRequest.Payload.Data.Sender.Id;

                var litters = _context.Litters   //litters without lat/long/num saved
                              .Where(x => x.UserId == userId && x.CigarettesNum <= 0)
                              .OrderByDescending(x => x.CreatedAt)
                              .ToArray();

                var litter = litters.FirstOrDefault();  //newest one
                if (litter != null)
                {
                    _context.Litters.RemoveRange(litters.Skip(1));

                    litter.CigarettesNum = 1;
                    litter.Lat           = coords.Long;
                    litter.Long          = coords.Lat;

                    _context.Litters.Update(litter);
                    _context.SaveChanges();

                    return(ResponseThankYou(userId));
                }
            }

            return(ResponseUploadPhoto());
        }
Beispiel #6
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (IsUpdateOperation == true)
     {
         // Update
         try
         {
             int Lid = Convert.ToInt32(lblLitterID.Text);
         }
         catch (Exception ex)
         {
             MessageBox.Show("Error in Update Litter: " + ex.ToString());
         }
     }
     else
     {
         // Insert
         try
         {
             using (var B = new dbFFBEntities())
             {
                 var i = new Litter
                 {
                     AKCLitter           = txtAKCLitterNumber?.Text.Trim().ToUpper(),
                     Sire_dogID          = Convert.ToInt32(cboSire.SelectedValue),
                     Dam_dogID           = Convert.ToInt32(cboDam.SelectedValue),
                     LitterFemales       = Convert.ToInt32(txtFemales?.Text.Trim()),
                     LitterMales         = Convert.ToInt32(txtMales.Text.Trim()),
                     DeliverVet          = txtVet.Text.Trim(),
                     WhelpDate           = dtpWhelpDate.Value,
                     Active              = chkActive.Checked,
                     LastUpdateID        = Environment.UserName.ToString(),
                     LastUpdateTimeStamp = DateTime.Now
                 };
                 B.Litters.Add(i);
                 var sa = B.SaveChanges();
                 if (sa == 1)
                 {
                     Reset(false);
                     //frmLitter_Load(sender, e);
                     MessageBox.Show(strTableName + i.LitterID + " Added Successfully");
                 }
                 else
                 {
                     MessageBox.Show(strTableName + " insert Failed");
                 }
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show("Error on Insert Litter " + ex.ToString());
         }
     }
 }
        public ActionResult Details(int id)
        {
            Litter litter = context.Litters
                            .Include("Coat")
                            .Include("Size")
                            .FirstOrDefault(l => l.Id == id);

            if (litter == null)
            {
                return(HttpNotFound());
            }

            return(View(litter));
        }
Beispiel #8
0
        /**
         * Check whether or not this fox is to give birth at this step.
         * New births will be made into free adjacent locations.
         * @param newFoxes A list to return newly born foxes.
         */
        public void Breed()
        {
            List <Location> free = field.GetFreeAdjacentLocations(location);

            Litter.Clear();

            for (int b = 0; b < newBirths && free.Count > 0; b++)
            {
                Location loc = free[0];
                free.RemoveAt(0);

                Fox young = new Fox(false, field, loc);
                Litter.Add(young);
            }
        }
Beispiel #9
0
        /**
         * Check whether or not this rabbit is to give birth at this step.
         * New births will be made into free adjacent locations.
         * New born rabbits are added to the Litter.
         */
        public void Breed()
        {
            // New rabbits are born into adjacent locations.
            // Get a list of adjacent free locations.
            List <Location> free = field.GetFreeAdjacentLocations(location);

            Litter.Clear();

            for (int b = 0; b < newBirths && free.Count > 0; b++)
            {
                Location loc = free[0];
                free.RemoveAt(0);

                Rabbit young = new Rabbit(false, field, loc);
                Litter.Add(young);
            }
        }
Beispiel #10
0
        public async Task <ServiceResponse <List <GetLitterDto> > > CreateLitter(CreateLitterDto newLitter)
        {
            ServiceResponse <List <GetLitterDto> > serviceResponse = new ServiceResponse <List <GetLitterDto> >();
            Litter record = _mapper.Map <Litter>(newLitter);

            record.User = await _context.Users.FirstOrDefaultAsync(u => u.Id == GetUserId());

            record.Breeder = await _context.Contacts.FirstOrDefaultAsync(c => c.Id == newLitter.BreederId);

            await _context.Litters.AddAsync(record);

            await _context.SaveChangesAsync();

            serviceResponse.Data = await GetAllRecords();

            return(serviceResponse);
        }
Beispiel #11
0
        public ActionResult Edit(int id)
        {
            Litter litter = context.Litters.FirstOrDefault(l => l.Id == id);

            if (litter == null)
            {
                return(HttpNotFound());
            }

            LitterFormViewModel viewModel = new LitterFormViewModel
            {
                Litter = litter,
                Sizes  = context.Sizes.ToList(),
                Coats  = context.Coats.ToList()
            };

            return(View("LitterForm", viewModel));
        }
Beispiel #12
0
        public async Task <ServiceResponse <GetLitterDto> > GetLitterById(int id)
        {
            ServiceResponse <GetLitterDto> serviceResponse = new ServiceResponse <GetLitterDto>();

            string UserRole = GetUserRole();

            Litter record = UserRole.Equals("Admin") ?
                            await _context.Litters
                            .Include(lit => lit.Parents).ThenInclude(parents => parents.Parent)
                            .Include(lit => lit.Siblings).ThenInclude(sibling => sibling.Sibling)
                            .FirstOrDefaultAsync(c => c.Id == id) :
                            await _context.Litters
                            .Include(lit => lit.Parents).ThenInclude(parents => parents.Parent)
                            .Include(lit => lit.Siblings).ThenInclude(sibling => sibling.Sibling)
                            .FirstOrDefaultAsync(c => c.Id == id && c.User.Id == GetUserId());

            serviceResponse.Data = _mapper.Map <GetLitterDto>(record);
            return(serviceResponse);
        }
Beispiel #13
0
        public int Update(Litter litter)
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "UpdateLitter";
                cmd.Parameters.AddWithValue("@LitterId", litter.LitterId);
                cmd.Parameters.AddWithValue("@MamaDogId", litter.MamaDogId);
                cmd.Parameters.AddWithValue("@PapaDogId", litter.PapaDogId);
                cmd.Parameters.AddWithValue("@BirthDate", litter.BirthDate);
                cmd.Parameters.AddWithValue("@PuppyCount", litter.PuppyCount);

                conn.Open();
                cmd.ExecuteNonQuery();
            }

            return(litter.LitterId);
        }
Beispiel #14
0
        public ActionResult GetLittersByPreference()
        {
            var            applicationId  = User.Identity.GetUserId();
            PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(e => e.ApplicationId == applicationId);
            Preference     preferences    = context.Preferences.FirstOrDefault(p => p.Id == potentialOwner.PreferenceId);

            if (preferences == null)
            {
                return(RedirectToAction("NewPreferences", "PotentialOwners"));
            }

            List <Litter> litters = FilterLitterPreferences(preferences);
            List <Litter> littersWithNumberOfDogs = new List <Litter>();

            foreach (Litter litter in litters)
            {
                Litter litterFromDb = context.Litters.FirstOrDefault(l => l.Id == litter.Id);
                litterFromDb.NumberOfDogs = GetNumberOfDogsFromLitter(litter);
                littersWithNumberOfDogs.Add(litterFromDb);
            }

            return(View("ListByPreference", littersWithNumberOfDogs));
        }
        public IActionResult Delate(
            [FromForm] IFormFile pic,
            [FromForm] Litter data)
        {
            _context.Litters.Add(data);
            _context.SaveChanges();

            if (pic.Length <= 0)
            {
                return(Ok());
            }

            var container = GetCloudBlobContainer();
            var blockBlob = container.GetBlockBlobReference($"{data.Id}.jpg");

            using (var stream = pic.OpenReadStream())
                Task.WaitAll(blockBlob.UploadFromStreamAsync(stream));

            data.ImageUrl = blockBlob.SnapshotQualifiedStorageUri.PrimaryUri.ToString();
            _context.Litters.Update(data);
            _context.SaveChanges();

            return(Ok());
        }
Beispiel #16
0
        public async Task <ServiceResponse <GetLitterDto> > UpdateLitter(UpdatedLitterDto updatedLitter)
        {
            ServiceResponse <GetLitterDto> serviceResponse = new ServiceResponse <GetLitterDto>();

            try
            {
                Litter Litter = await _context.Litters.Include(c => c.User).AsNoTracking().FirstOrDefaultAsync(c => c.Id == updatedLitter.Id);

                Litter mappedUpdated = _mapper.Map <Litter>(updatedLitter);

                if (Litter.User.Id == GetUserId())
                {
                    Litter = Utility.Util.CloneJson <Litter>(mappedUpdated);


                    _context.Litters.Update(Litter);

                    await _context.SaveChangesAsync();


                    serviceResponse.Data = _mapper.Map <GetLitterDto>(Litter);
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = "Record not found.";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }

            return(serviceResponse);
        }
        private void SeedRabbitsWithLitters(RabbitFarmContext context)
        {
            #region Rabbits
            var rabbit1 = new Rabbit()
            {
                Id     = 1,
                Mark   = "10-12-35-43",
                Gender = Gender.Male,
                Status = RabbitStatus.InFarm,
                FarmId = 2
            };
            var rabbit2 = new Rabbit()
            {
                Id     = 2,
                Mark   = "15-15-36-32",
                Gender = Gender.Male,
                Status = RabbitStatus.InFarm,
                FarmId = 1
            };
            var rabbit3 = new Rabbit()
            {
                Id     = 3,
                Mark   = "11-24-65-23",
                Gender = Gender.Male,
                Status = RabbitStatus.InFarm,
                FarmId = 3
            };
            var rabbit4 = new Rabbit()
            {
                Id     = 4,
                Mark   = "24-21-46-32",
                Gender = Gender.Male,
                Status = RabbitStatus.InFarm,
                FarmId = 4
            };
            var rabbit5 = new Rabbit()
            {
                Id     = 5,
                Mark   = "32-23-12-43",
                Gender = Gender.Male,
                Status = RabbitStatus.InFarm,
                FarmId = 5
            };
            var rabbit6 = new Rabbit()
            {
                Id     = 6,
                Mark   = "10-12-35-43",
                Gender = Gender.Female,
                Status = RabbitStatus.InFarm,
                FarmId = 1
            };
            var rabbit7 = new Rabbit()
            {
                Id     = 7,
                Mark   = "23-11-54-32",
                Gender = Gender.Female,
                Status = RabbitStatus.InFarm,
                FarmId = 2
            };
            var rabbit8 = new Rabbit()
            {
                Id     = 8,
                Mark   = "23-11-54-32",
                Gender = Gender.Female,
                Status = RabbitStatus.InFarm,
                FarmId = 3
            };
            var rabbit9 = new Rabbit()
            {
                Id     = 9,
                Mark   = "23-11-54-32",
                Gender = Gender.Female,
                Status = RabbitStatus.InFarm,
                FarmId = 5
            };
            var rabbit10 = new Rabbit()
            {
                Id     = 10,
                Mark   = "23-11-54-32",
                Gender = Gender.Female,
                Status = RabbitStatus.InFarm,
                FarmId = 5
            };

            context.Rabbits.AddOrUpdate(rabbit1);
            context.Rabbits.AddOrUpdate(rabbit2);
            context.Rabbits.AddOrUpdate(rabbit3);
            context.Rabbits.AddOrUpdate(rabbit4);
            context.Rabbits.AddOrUpdate(rabbit5);
            context.Rabbits.AddOrUpdate(rabbit6);
            context.Rabbits.AddOrUpdate(rabbit7);
            context.Rabbits.AddOrUpdate(rabbit8);
            context.Rabbits.AddOrUpdate(rabbit9);
            context.Rabbits.AddOrUpdate(rabbit10);

            context.SaveChanges();
            #endregion

            #region Litters
            var litter1 = new Litter()
            {
                BirthDate = new DateTime(2014, 3, 22),
                MotherId  = 5,
                FatherId  = 6,
                FarmId    = 1
            };
            var litter2 = new Litter()
            {
                BirthDate = new DateTime(2014, 4, 14),
                MotherId  = 4,
                FatherId  = 7,
                FarmId    = 2
            };
            var litter3 = new Litter()
            {
                BirthDate = new DateTime(2014, 12, 20),
                MotherId  = 3,
                FatherId  = 8,
                FarmId    = 3
            };

            var litter4 = new Litter()
            {
                BirthDate = new DateTime(2014, 12, 21),
                MotherId  = 2,
                FatherId  = 9,
                FarmId    = 4
            };
            var litter5 = new Litter()
            {
                BirthDate = new DateTime(2014, 12, 21),
                MotherId  = 1,
                FatherId  = 10,
                FarmId    = 5
            };

            context.Litters.AddOrUpdate(litter1);
            context.Litters.AddOrUpdate(litter2);
            context.Litters.AddOrUpdate(litter3);
            context.Litters.AddOrUpdate(litter4);
            context.Litters.AddOrUpdate(litter5);
            #endregion

            #region Rabbits With Litters
            var rabbit11 = new Rabbit()
            {
                Mark     = "21-42-53-21",
                Gender   = Gender.Female,
                Status   = RabbitStatus.InFarm,
                LitterId = 1,
                FarmId   = 1
            };
            var rabbit12 = new Rabbit()
            {
                Mark     = "32-25-42-12",
                Gender   = Gender.Female,
                Status   = RabbitStatus.InFarm,
                LitterId = 2,
                FarmId   = 2
            };
            var rabbit13 = new Rabbit()
            {
                Mark     = "32-25-42-12",
                Gender   = Gender.Female,
                Status   = RabbitStatus.InFarm,
                LitterId = 2,
                FarmId   = 2
            };


            context.Rabbits.AddOrUpdate(rabbit11);
            context.Rabbits.AddOrUpdate(rabbit12);
            context.Rabbits.AddOrUpdate(rabbit13);
            #endregion

            context.SaveChanges();
        }
Beispiel #18
0
        public static void SeedDB(ApplicationDbContext context, string adminID)
        {
            if (context.Contact.Any() || context.Litters.Any() || context.Invitations.Any())
            {
                return;   // DB has been seeded
            }

            var breedDescriptionsJson =
                GetEmbeddedResourceAsString("LitterManager.Data.BreedDescriptions.json");

            try
            {
                List <BreedDescription> data = JsonConvert.DeserializeObject <List <BreedDescription> >(breedDescriptionsJson);

                foreach (dynamic bd in data)
                {
                    context.BreedDescriptions.Add(new BreedDescription
                    {
                        FciId       = bd.FciId,
                        BreedName   = bd.BreedName,
                        GroupId     = bd.GroupId,
                        GroupName   = bd.GroupName,
                        SectionId   = bd.SectionId,
                        SectionName = bd.SectionName
                    });
                }
                context.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }



            Litter[] seedLitters = new Litter[]
            {
                new Litter {
                    Description = "lorem ipsum", isActive = true, MotherPresent = true, Prices = new PriceRange(100, 300)
                },
                new Litter {
                    Description = "lorem ipsum quorum", isActive = true, MotherPresent = false, Prices = new PriceRange(500, 1000)
                }
            };

            seedLitters[0].BreedDescriptions = new List <LitterBreedDescriptions>
            {
                new LitterBreedDescriptions {
                    Litter           = seedLitters[0],
                    BreedDescription = context.BreedDescriptions.Find(90)
                },
                new LitterBreedDescriptions {
                    Litter           = seedLitters[0],
                    BreedDescription = context.BreedDescriptions.Find(100)
                }
            };

            seedLitters[1].BreedDescriptions = new List <LitterBreedDescriptions>
            {
                new LitterBreedDescriptions {
                    Litter           = seedLitters[0],
                    BreedDescription = context.BreedDescriptions.Find(120)
                }
            };

            Invitation[] seedInvitations = new Invitation[]
            {
                new Invitation {
                    SenderId = adminID, OwnerId = "someone", Status = InvitationStatus.Reclaimed, LitterId = seedLitters[0].LitterId
                },
                new Invitation {
                    SenderId = "someone", OwnerId = adminID
                },
            };

            context.Litters.AddRange(seedLitters);

            context.Invitations.AddRange(seedInvitations);

            context.Contact.AddRange(
                #region snippet_Contact
                new Contact
            {
                Name    = "Debra Garcia",
                Address = "1234 Main St",
                City    = "Redmond",
                State   = "WA",
                Zip     = "10999",
                Email   = "*****@*****.**",
                Status  = ContactStatus.Approved,
                OwnerID = adminID
            },
                #endregion
                #endregion
                new Contact
            {
                Name    = "Thorsten Weinrich",
                Address = "5678 1st Ave W",
                City    = "Redmond",
                State   = "WA",
                Zip     = "10999",
                Email   = "*****@*****.**",
                Status  = ContactStatus.Submitted,
                OwnerID = adminID
            },
                new Contact
            {
                Name    = "Yuhong Li",
                Address = "9012 State st",
                City    = "Redmond",
                State   = "WA",
                Zip     = "10999",
                Email   = "*****@*****.**",
                Status  = ContactStatus.Rejected,
                OwnerID = adminID
            },
                new Contact
            {
                Name    = "Jon Orton",
                Address = "3456 Maple St",
                City    = "Redmond",
                State   = "WA",
                Zip     = "10999",
                Email   = "*****@*****.**",
                Status  = ContactStatus.Submitted,
                OwnerID = adminID
            },
                new Contact
            {
                Name    = "Diliana Alexieva-Bosseva",
                Address = "7890 2nd Ave E",
                City    = "Redmond",
                State   = "WA",
                Zip     = "10999",
                Email   = "*****@*****.**",
                OwnerID = adminID
            }
                );
            context.SaveChanges();
        }