public static BluePrintDto CreateBluePrint(BluePrintRequestDtos.BluePrintAdd createDto)
        {
            using (var uow = new BlueprintUnitOfWork())
            {
                var user = uow.Users.Find(createDto.UserId);
                if (user == null ||
                    user.BluePrints.FirstOrDefault(b => b.Name == createDto.BluePrintName) != null)
                {
                    return null;
                }
                var bp = createDto.ToEntity();
                user.BluePrints.Add(bp);
                uow.Save();
                return bp.ToDto();

            }
        }
 public MessageDto Put(BluePrintRequestDtos.BluePrintUpdateLocation put)
 {
     return BluePrintServices.UpdateBluePrint(put.BluePrintId, put.BluePrintName, put.Country, put.State, put.City, put.Region);
 }
 public BluePrintDto Post(BluePrintRequestDtos.BluePrintAdd newBp)
 {
     return BluePrintServices.CreateBluePrint(newBp);
 }
 public IEnumerable<BluePrintDto> Get(BluePrintRequestDtos.FindBluePrintsForRegion get)
 {
     return BluePrintServices.FindBluePrintsForRegion(get.Region);
 }
 public BluePrintDto Get(BluePrintRequestDtos.GetBluePrint getBluePrint)
 {
     var bp = BluePrintServices.GetBluePrint(getBluePrint.BluePrintId);
     return bp;
 }
 public IEnumerable<BluePrintDto> Get(BluePrintRequestDtos.FindBluePrintsForUser getBluePrintsFor)
 {
     var bps = BluePrintServices.FindBluePrintsForUser(getBluePrintsFor.UserId);
     return bps;
 }
 public MessageDto Delete(BluePrintRequestDtos.BluePrintDelete bp)
 {
     return BluePrintServices.DeleteBlueprint(bp.BluePrintId, bp.UserId);
 }