コード例 #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());
        }
コード例 #5
0
        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
ファイル: EditModel.cs プロジェクト: crazyants/ZidiumServer
        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());
        }
コード例 #10
0
        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);
        }