Пример #1
0
        /// <summary>
        /// Update a Provider's account on the database.
        /// </summary>
        /// <param name="providerAccount"></param>
        /// <returns></returns>
        public async Task <bool> UpdateProviderAccountAsync(ProviderAccount providerAccount)
        {
            var existingEntity = await _context.ProviderAccount.FirstOrDefaultAsync(p => p.ProviderId == providerAccount.ProviderId);

            if (existingEntity == null)
            {
                return(false);
            }

            var updatedEntity = _mapper.MapProvider(providerAccount);

            _context.Entry(existingEntity).CurrentValues.SetValues(updatedEntity);
            return(true);
        }
Пример #2
0
        public ActionResult Edit(User u)
        {
            using (var db = new AccountDbContext())
            {
                var r = Request.Form["Roles"];
                if (r != null)
                {
                    List <Int32> Id   = StringToIntList(r);
                    var          role = db.Roles.Where(a => Id.Contains(a.Id)).ToList();
                    User         s    = db.Users.Find(u.Id);
                    s.Name       = u.Name;
                    s.Password   = u.Password;
                    s.RegisterOn = u.RegisterOn;

                    s.Roles.Clear();
                    foreach (var item in role)
                    {
                        s.Roles.Add(item);
                    }
                    db.Entry(s).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Display"));
                }
                else
                {
                    ViewBag.Role = db.Roles.ToList();
                    var user = db.Users.Find(u.Id);
                    return(View(user));
                }
            }
        }
Пример #3
0
        public ActionResult Register()
        {
            string activationCode = !string.IsNullOrEmpty(Request.QueryString["ActivationCode"]) ? Request.QueryString["ActivationCode"] : Guid.Empty.ToString();

            //        TempData["notice"] = activationCode;

            if (activationCode != "00000000-0000-0000-0000-000000000000")
            {
                using (var db = new AccountDbContext())
                {
                    try
                    {
                        var query_D = (from b in db.userActivation
                                       where b.ActivationCode == activationCode
                                       select b).First();
                        query_D.ActivationCode  = "00000000-0000-0000-0000-000000000000";
                        db.Entry(query_D).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    catch
                    {
                        return(RedirectToAction("Login", "Account"));
                    }
                }
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                return(View());
            }
        }
Пример #4
0
        public async Task <IActionResult> PutUser([FromRoute] string id, [FromBody] User user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != user.Id)
            {
                return(BadRequest());
            }

            _context.Entry(user).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <bool> Update(User entity)
        {
            _context.Entry(entity).State = EntityState.Modified;
            int status = await _context.SaveChangesAsync();

            return(status > 0 ? true : false);
        }
Пример #6
0
        private void SendActivationEmail(int userId)
        {
            string activationCode = Guid.NewGuid().ToString();

            using (AccountDbContext db = new AccountDbContext())
            {
                // Here first check if the activation code is already present (sent first time to the user) the retrive the same activation code from th table and send email again.
                UserActivation ua = new UserActivation();

                //     ua = db.userActivation.FirstOrDefault(userAct => userAct.ID == userId);

                var checkUser = (from row in db.userActivation
                                 where row.ID == userId
                                 select row).ToList();

                if (checkUser.Count() == 0)
                {
                    // Here add activation code and UserId in activation table
                    ua.ID              = userId;
                    ua.ActivationCode  = activationCode;
                    db.Entry(ua).State = EntityState.Added;
                    db.SaveChanges();
                }
                else
                {
                    activationCode = checkUser[0].ActivationCode;
                }
            }

            AccountDbContext dbContext = new AccountDbContext();
            UserAccount      user      = dbContext.userAccounts.FirstOrDefault(u => u.UserId == userId);
            string           toEmailID = user.Email;
            string           userName  = user.FirstName;
            MailMessage      mm        = new MailMessage("*****@*****.**", toEmailID);

            mm.Subject = "Account Activation";
            string body = "Hello " + userName;

            body += "<br /><br />Please click the following link to activate your account";
            body += "<br /><a href = '" + Request.Url.AbsoluteUri + "?ActivationCode=" + activationCode + "'>Click here to activate your account.</a>";


            body         += "<br /><br />Thanks";
            mm.Body       = body;
            mm.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();

            smtp.Host      = "smtp.gmail.com";
            smtp.EnableSsl = true;
            NetworkCredential NetworkCred = new NetworkCredential("*****@*****.**", "");

            smtp.UseDefaultCredentials = false;
            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.Credentials           = NetworkCred;
            smtp.Port = 25;
            smtp.Send(mm);
        }
Пример #7
0
        public IHttpActionResult Update(Guid id, Account account)
        {
            var accnt = db.Accounts.Find(id);

            accnt.Name = account.Name;
            db.Entry(accnt).Property(x => x.Name).IsModified = true;

            db.SaveChanges();
            return(Ok());
        }
Пример #8
0
        public void SaveRule()
        {
            if (UnitTest.HttpRequestUnitTest == null)
            {
                var newHttpRequestUnitTest = new HttpRequestUnitTest
                {
                    UnitTestId = UnitTest.Id,
                    UnitTest   = UnitTest
                };
                UnitTest.HttpRequestUnitTest = newHttpRequestUnitTest;
            }

            var rule = UnitTest.HttpRequestUnitTest.Rules.FirstOrDefault();

            if (rule == null)
            {
                rule = new HttpRequestUnitTestRule()
                {
                    Id = Guid.NewGuid(),
                    HttpRequestUnitTest = UnitTest.HttpRequestUnitTest
                };
                UnitTest.HttpRequestUnitTest.Rules.Add(rule);
            }

            rule.DisplayName    = UnitTest.DisplayName;
            rule.SortNumber     = 0;
            rule.TimeoutSeconds = TimeOutSeconds;
            rule.Method         = Method;
            rule.Url            = new Uri(Url).AbsoluteUri;
            rule.ResponseCode   = ResponseCode;
            rule.SuccessHtml    = SuccessHtml;
            rule.ErrorHtml      = ErrorHtml;

            foreach (var data in rule.Datas.ToArray())
            {
                rule.Datas.Remove(data);
                AccountDbContext.Entry(data).State = System.Data.Entity.EntityState.Deleted;
            }

            if (RequestHeaders != null)
            {
                RequestHeaders.ForEach(x => AddRuleData(rule, x, HttpRequestUnitTestRuleDataType.RequestHeader));
            }

            if (RequestCookies != null)
            {
                RequestCookies.ForEach(x => AddRuleData(rule, x, HttpRequestUnitTestRuleDataType.RequestCookie));
            }

            if (WebFormDatas != null)
            {
                WebFormDatas.ForEach(x => AddRuleData(rule, x, HttpRequestUnitTestRuleDataType.WebFormData));
            }
        }
Пример #9
0
        public ActionResult Delete(User user)
        {
            var db = new AccountDbContext();

            if (user.Name != null)
            {
                db.Entry(user).State = EntityState.Deleted;
                db.SaveChanges();
                return(RedirectToAction("Display"));
            }
            return(View());
        }
        public async Task <IActionResult> PutUserInfo(int id, UserInfo userInfo)
        {
            //Gets the user token and claims
            var jwt = Request.Headers[HeaderNames.Authorization].ToString().Replace("Bearer ", string.Empty);

            var roleclaim  = GetClaim(jwt, "Role");
            var groupclaim = GetClaim(jwt, "Group");
            var userId     = Int32.Parse(GetClaim(jwt, "Id"));
            var ownerId    = GetClaim(jwt, "OwnerID");

            // Verifies the user claims through the Tokken before anything
            if (roleclaim != "1" && roleclaim != "0" && userId != userInfo.UserId)
            {
                return(Forbid());
            }

            if (id != userInfo.UserId)
            {
                return(BadRequest());
            }

            if (roleclaim != "0")
            {
                userInfo.UserOwnerId = ownerId;
                userInfo.UserRole    = Int32.Parse(roleclaim);
                userInfo.UserGroup   = groupclaim;
                userInfo.UserId      = userId;
            }
            _context.Entry(userInfo).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserInfoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #11
0
        [ActionName("EditSellBuyRequest")] // for SellBuy
        public ActionResult EditSellBuyRequest_Post(int id)
        {
            AccountDbContext db   = new AccountDbContext();
            BuySellDatabase  user = db.buySellDatabase.Single(us => us.ID == id);

            if (ModelState.IsValid)
            {
                UpdateModel(user, new string[] { "Name", "BuyOrSell", "Item", "Price", "MessageMail", "Requested_Date", "UserID" });
                db.Entry(user).State = EntityState.Modified;
                db.SaveChanges();
                ModelState.Clear();
                ViewBag.MessageReq = "Details saved successfully.";
            }

            return(View(user));
        }
Пример #12
0
        [ActionName("EditRequest")] // for roommate finder
        public ActionResult EditRequest_post(int id)
        {
            AccountDbContext db   = new AccountDbContext();
            RoommateDatabase user = db.rommateDatabase.Single(us => us.ID == id);

            if (ModelState.IsValid)
            {
                UpdateModel(user, new string[] { "Name", "SelectOptionForPartner", "PartnerGender", "Location", "MessageMail", "Requested_Date", "UserID" });
                db.Entry(user).State = EntityState.Modified;
                db.SaveChanges();
                ModelState.Clear();
                ViewBag.MessageReq = "Details saved successfully.";
            }

            return(View(user));
        }
Пример #13
0
        public ActionResult EditUserProfile_Post()
        {
            int?currentUserID = 0;

            currentUserID = Convert.ToInt32(Session["UserId"].ToString());
            AccountDbContext db   = new AccountDbContext();
            UserAccount      user = db.userAccounts.Single(us => us.UserId == currentUserID);

            if (ModelState.IsValid)
            {
                UpdateModel(user, new string[] { "UserId", "FirstName", "LastName" });
                db.Entry(user).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.SavedMessage = "Details updated successfuly!";
            }

            return(View(user));
        }
Пример #14
0
        protected override void UpdateBatchObject(
            AccountDbContext accountDbContext,
            EventCacheWriteObject eventObj,
            bool useCheck)
        {
            if (eventObj.Response.LastSavedData == null)
            {
                throw new Exception("eventObj.Response.LastSavedData == null");
            }
            var dbEvent = accountDbContext.Events.Local.FirstOrDefault(x => x.Id == eventObj.Id);

            if (dbEvent == null)
            {
                if (useCheck)
                {
                    // загрузим из БД, чтобы получить актуальные данные
                    var repository = accountDbContext.GetEventRepository();
                    dbEvent = repository.GetById(eventObj.Id);
                }
                else
                {
                    // создаем копию из кэша
                    dbEvent = eventObj.Response.LastSavedData.CreateEfEvent();
                    accountDbContext.Events.Attach(dbEvent);
                }
            }

            // обновляем свойства
            UpdateEntity(dbEvent, eventObj, useCheck);

            // сейчас архивный статус сохраняетя синхронно, когда создается новый статус лампочки

            // создаем архивный статус
            //if (eventObj.IsArchivedStatus)
            //{
            //    var archivedStatus = new ArchivedStatus()
            //    {
            //        EventId = eventObj.Id,
            //        AccountId = eventObj.AccountId
            //    };
            //    var archivedStatusRepository = storageDbContext.GetArchivedStatusRepository();
            //    archivedStatusRepository.Add(archivedStatus);
            //}

            // вставляем новые статусы
            foreach (var statusReference in eventObj.NewStatuses)
            {
                if (statusReference.Saved)
                {
                    continue;
                }
                if (statusReference.StatusId == dbEvent.Id)
                {
                    throw new Exception("statusReference.StatusId == dbEvent.Id");
                }
                Guid fakeStatusId = statusReference.StatusId;

                // проверим можно ли добавлять статус
                bool canAdd = true;
                if (useCheck)
                {
                    if (dbEvent.StatusEvents.Any(x => x.Id == fakeStatusId))
                    {
                        canAdd = false;
                    }
                }
                if (canAdd)
                {
                    var fakeStatus = accountDbContext.Events.Local.FirstOrDefault(x => x.Id == fakeStatusId);
                    if (fakeStatus == null)
                    {
                        if (useCheck)
                        {
                            var repository = accountDbContext.GetEventRepository();
                            fakeStatus = repository.GetByIdOrNull(fakeStatusId);
                            if (fakeStatus == null)
                            {
                                // значит статус удален
                                return;
                            }
                        }
                        else
                        {
                            fakeStatus = new Event()
                            {
                                Id = statusReference.StatusId
                            };
                            accountDbContext.Events.Attach(fakeStatus);
                            accountDbContext.Entry(fakeStatus).State = EntityState.Unchanged;
                        }
                    }
                    dbEvent.StatusEvents.Add(fakeStatus);
                }
            }

            //var entity = storageDbContext.Entry(dbEvent);
            //var changed = GetChangedProperties(entity);
        }