Exemple #1
0
        // GET: Admin/Owners/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var owner = await _context.Owner.Include(u => u.Address).SingleOrDefaultAsync(u => u.OwnerId == id);

            if (owner == null)
            {
                return(NotFound());
            }

            var appUser = await _userManager.FindByIdAsync(owner.ApplicationUserId);

            var roles = await _userManager.GetRolesAsync(appUser);

            var vm = new OwnerVM
            {
                Owner   = owner,
                Address = owner.Address,
                IsAdmin = roles.Contains("Admin")
            };

            var identityUser = await _userManager.GetUserAsync(HttpContext.User);

            ViewData["CurrUserId"] = identityUser.Id;

            return(View(vm));
        }
Exemple #2
0
        public async Task <Response <List <OwnerVM> > > SelectOwnerAll(bool?status)
        {
            Response <List <OwnerVM> > response = new Response <List <OwnerVM> >();
            List <OwnerVM>             list     = new List <OwnerVM>();

            try
            {
                using (var dc = new RentAppEntities())
                {
                    var query = dc.spSelOwner().ToList();
                    if (status != null)
                    {
                        var queryFilter = dc.spSelOwner().Where(c => c.StatusOwner == true).ToList();
                        query = queryFilter;
                    }
                    if (query.Count > 0)
                    {
                        foreach (var item in query)
                        {
                            var o = new OwnerVM();
                            o.Address      = item.AddressOwner;
                            o.DateCreated  = item.DateCreatedOwner;
                            o.DateModified = item.DateModifiedOwner;
                            o.Icon         = item.IconOwner;
                            o.IconString   = item.IconStringOwner;
                            o.IdAdmin      = item.IdAdmin;
                            o.IdOwner      = item.IdOwner;
                            o.Name         = item.NameOwner;
                            o.Password     = item.PasswordOwner;
                            o.Phone        = item.PhoneOwner;
                            o.Status       = item.StatusOwner;
                            o.User         = item.UserOwner;
                            list.Add(o);
                        }
                        response.Count   = list.Count;
                        response.Message = null;
                        response.Result  = list;
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Message = "No hay datos";
                        response.Result  = null;
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Message = ex.Message;
                response.Result  = null;
                return(response);
            }
        }
Exemple #3
0
        public async Task <Response <OwnerVM> > DoLogin(string user, string password, string PlayerId, string PushToken)
        {
            Response <OwnerVM> response = new Response <OwnerVM>();

            try
            {
                using (var dc = new RentAppEntities())
                {
                    var query = dc.spSelOwnerDoLogin(user, password).Where(c => c.StatusOwner == true).FirstOrDefault();
                    if (query != null)
                    {
                        var o = new OwnerVM();
                        o.Address        = query.AddressOwner;
                        o.DateCreated    = query.DateCreatedOwner;
                        o.DateModified   = query.DateModifiedOwner;
                        o.Icon           = query.IconOwner;
                        o.IconString     = query.IconStringOwner;
                        o.IdAdmin        = query.IdAdmin;
                        o.IdOwner        = query.IdOwner;
                        o.Name           = query.NameOwner;
                        o.Password       = query.PasswordOwner;
                        o.Phone          = query.PhoneOwner;
                        o.Status         = query.StatusOwner;
                        o.User           = query.UserOwner;
                        response.Count   = 1;
                        response.Message = null;
                        response.Result  = o;
                        await BLNotifications.InsertNotification(o.IdOwner, PlayerId, PushToken, 1);
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Message = "No hay datos";
                        response.Result  = null;
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Message = ex.Message;
                response.Result  = null;
                return(response);
            }
        }
        public async Task <ActionResult <tblOwner> > PostOwner([FromBody] OwnerVM owner)
        {
            //Validate model
            if (owner == null)
            {
                return(BadRequest("No data provided."));
            }

            if (!ModelState.IsValid)
            {
                return(ValidationProblem(ModelState));
            }

            var createdOwner = await _ownerService.Add(new tblOwner
            {
                FirstName = owner.FirstName,
                LastName  = owner.LastName
            });

            owner.OwnerId = createdOwner.Id;
            return(Ok(owner));
        }
        public async Task <IActionResult> PutOwner(Guid id, OwnerVM ownerModel)
        {
            if (ownerModel == null || id != ownerModel.OwnerId)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(ValidationProblem(ModelState));
            }

            try
            {
                //await _context.SaveChangesAsync();
                await _ownerService.Update(new tblOwner
                {
                    Id        = id,
                    FirstName = ownerModel.FirstName,
                    LastName  = ownerModel.LastName
                });
            }
            catch (EntityNotFoundException)
            {
                return(NotFound());
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OwnerExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #6
0
 public void Setup()
 {
     Owner = new OwnerVM();
 }
 private void CallBehaviors(CollectionChangedArgs <TItemVM> args)
 {
     OwnerProperty.Behaviors.TryCall <ICollectionChangeHandlerBehavior <TItemVM> >(b =>
                                                                                   b.HandleChange(OwnerVM.GetContext(), args)
                                                                                   );
 }
Exemple #8
0
        public async Task <IActionResult> Edit(int id, OwnerVM vm)
        {
            if (id != vm.Owner.OwnerId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var identityUser = await _userManager.GetUserAsync(HttpContext.User);

                    var loggedInUser = _context.Owner.Find(identityUser.OwnerId);

                    var addr = await _context.Address.SingleOrDefaultAsync(u => u.Id == vm.Address.Id);

                    addr.StreetAddress    = vm.Address.StreetAddress;
                    addr.City             = vm.Address.City;
                    addr.State            = vm.Address.State;
                    addr.Zip              = vm.Address.Zip;
                    addr.LastModifiedBy   = loggedInUser.FullName;
                    addr.LastModifiedDate = DateTime.Now;
                    _context.Update(addr);

                    var owner = await _context.Owner.SingleOrDefaultAsync(u => u.OwnerId == vm.Owner.OwnerId);

                    owner.FirstName             = vm.Owner.FirstName;
                    owner.LastName              = vm.Owner.LastName;
                    owner.Occupation            = vm.Owner.Occupation;
                    owner.Birthday              = vm.Owner.Birthday;
                    owner.Email                 = vm.Owner.Email;
                    owner.Phone                 = vm.Owner.Phone;
                    owner.EmergencyContactName  = vm.Owner.EmergencyContactName;
                    owner.EmergencyContactPhone = vm.Owner.EmergencyContactPhone;
                    //vm.Owner.AddressId = addr.Id; // need to reset this or the database gets mad
                    //vm.Owner.LastModifiedBy = loggedInUser.FullName;
                    //vm.Owner.LastModifiedDate = DateTime.Now;
                    _context.Update(owner);

                    await _context.SaveChangesAsync();

                    var appUser = await _userManager.FindByIdAsync(owner.ApplicationUserId);

                    var roles = await _userManager.GetRolesAsync(appUser);

                    if (vm.IsAdmin)
                    {
                        await _userManager.AddToRoleAsync(appUser, "Admin");
                    }
                    else
                    {
                        await _userManager.RemoveFromRoleAsync(appUser, "Admin");
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OwnerExists(vm.Owner.OwnerId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(vm));
        }
Exemple #9
0
        public async Task <IActionResult> Create(OwnerVM vm)
        {
            if (vm.Owner.Email != null)
            {
                var existingUser = await _userManager.FindByEmailAsync(vm.Owner.Email);

                if (existingUser != null)
                {
                    ModelState.AddModelError("Email", "There is an existing user with that email address");
                }
            }

            if (ModelState.IsValid)
            {
                var identityUser = await _userManager.GetUserAsync(HttpContext.User);

                var loggedInUser = _context.Owner.Find(identityUser.OwnerId);

                vm.Address.LastModifiedBy   = loggedInUser.FullName;
                vm.Address.LastModifiedDate = DateTime.Now;
                _context.Add(vm.Address);

                vm.Owner.Address          = vm.Address;
                vm.Owner.LastModifiedBy   = loggedInUser.FullName;
                vm.Owner.LastModifiedDate = DateTime.Now;

                // Don't save yet - need to link the Owner to the ApplicationUser
                _context.Add(vm.Owner);
                await _context.SaveChangesAsync();

                // Find a default username - adds a number to the end if there is a duplicate
                //var username = $"{vm.Owner.FirstName}{vm.Owner.LastName}";
                //int count = 0;
                //while (await _userManager.FindByNameAsync(username) != null)
                //{
                //    count++;
                //    username = $"{username}{count}";
                //}

                var username = await OwnerUtility.GenerateUsername(_userManager, vm.Owner);

                var defaultPassword = OwnerUtility.GenerateDefaultPassword(vm.Owner);

                // Create user with default credentials
                //  - Username: FirstnameLastname (e.g. JessBrunker)
                //  - Password: 1234 (change in Areas/Admin/Data/OwnerUtility.cs)
                var newOwner = new ApplicationUser
                {
                    UserName = username,
                    Email    = vm.Owner.Email,
                    OwnerId  = vm.Owner.OwnerId
                };

                var result = await _userManager.CreateAsync(newOwner, defaultPassword);

                if (result.Succeeded)
                {
                    var roles = new List <string> {
                        "Owner"
                    };
                    if (vm.IsAdmin)
                    {
                        roles.Add("Admin");
                    }
                    ;
                    await _userManager.AddToRolesAsync(newOwner, roles);

                    // Link Owner to the Application User
                    vm.Owner.ApplicationUserId = newOwner.Id;
                    //_context.Add(vm.Owner);
                    await _context.SaveChangesAsync();

                    // Add the Owner to a Lot
                    if (vm.LotId != 0)
                    {
                        _context.OwnerLot.Add(new OwnerLot
                        {
                            LotId     = vm.LotId,
                            OwnerId   = vm.Owner.OwnerId,
                            StartDate = DateTime.Now
                        });

                        await _context.SaveChangesAsync();
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["LotsSelect"] = new SelectList(_context.Lot.OrderBy(u => u.LotNumber).ToList(), "LotId", "LotNumber", vm.LotId);
            return(View(vm));
        }
 public virtual void Execute(object parameter)
 {
     OwnerProperty
     .Behaviors
     .ExecuteNext(OwnerVM.GetContext(), parameter);
 }
 public virtual bool CanExecute(object parameter)
 {
     return(OwnerProperty
            .Behaviors
            .CanExecuteNext(OwnerVM.GetContext(), parameter));
 }