示例#1
0
        public AuthenticateResponse Authenticate(AuthenticateRequest model, string ipAddress)
        {
            var account = _context.Accounts.SingleOrDefault(x => x.Email == model.Email);

            if (account == null || !account.IsVerified || !BC.Verify(model.Password, account.PasswordHash))
            {
                throw new AppException("Email or password is incorrect");
            }

            // authentication successful so generate jwt and refresh tokens
            var jwtToken     = generateJwtToken(account);
            var refreshToken = generateRefreshToken(ipAddress);

            account.RefreshTokens.Add(refreshToken);

            // remove old refresh tokens from account
            removeOldRefreshTokens(account);

            // save changes to db
            _context.Update(account);
            _context.SaveChanges();

            var response = _mapper.Map <AuthenticateResponse>(account);

            response.JwtToken     = jwtToken;
            response.RefreshToken = refreshToken.Token;
            return(response);
        }
示例#2
0
        public async Task <ActionItem> CreateActionItem(ActionItem actionItem)
        {
            await _db.ActionItem.AddAsync(actionItem);

            if (_db.SaveChanges() > 0)
            {
                return(actionItem);
            }
            return(null);
        }
示例#3
0
        public ActionResult Create([Bind(Include = "Id,Name,Description")] ApplicationRole applicationRole)
        {
            if (ModelState.IsValid)
            {
                db.Roles.Add(applicationRole);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(applicationRole));
        }
示例#4
0
        public async Task <IActionResult> CreateMessage(int chatId, string message)
        {
            var Message = new Message()
            {
                ChatId    = chatId,
                Name      = User.Identity.Name,
                Text      = message,
                Timestamp = DateTime.Now
            };
            var user = await _userManager.GetUserAsync(HttpContext.User);

            ViewBag.username = user.UserName;
            _context.Messages.Add(Message);
            _context.SaveChanges();
            return(RedirectToAction("ChatMessages", new { id = chatId }));
        }
示例#5
0
        public async Task <IActionResult> UserSettings(ProfileUpdate profileUpdate)
        {
            var x = _userManager.FindByNameAsync(User.Identity.Name);

            if (!string.IsNullOrEmpty(profileUpdate.FullName) && !string.IsNullOrWhiteSpace(profileUpdate.FullName))
            {
                x.Result.FullName = profileUpdate.FullName;
            }

            if (!string.IsNullOrEmpty(profileUpdate.Description) && !string.IsNullOrWhiteSpace(profileUpdate.Description))
            {
                x.Result.Description = profileUpdate.Description;
            }

            if (profileUpdate.Image != null)
            {
                var fullpath  = _folder + $"/img/uploads/{profileUpdate.Image.FileName}";
                var shortPath = $"/img/uploads/{profileUpdate.Image.FileName}";
                using (var stream = new FileStream(fullpath, FileMode.Create))
                {
                    await profileUpdate.Image.CopyToAsync(stream);
                }

                x.Result.ImageUrl = shortPath;
            }

            _users.SaveChanges();

            return(RedirectToAction("UserSettings"));
        }
        public async Task <bool> SetProfileImageUrl(string userId, string url)
        {
            var user = await _db.ApplicationUser.FirstOrDefaultAsync(i => i.Id == userId);

            user.ProfileImageUrl = url;

            return(_db.SaveChanges() > 0);
        }
示例#7
0
        public ActionResult Buy(Buy model)
        {
            var user = _context.Users.Find(User.Identity.GetUserId());

            // Kullanıcı satın alma işlemini yapar ve bir sonuç döner.
            BuyResult result = BuyFromSupplier(model, user);

            // Eğer satın alma olduysa yani tutar > 0 ' ise komisyon alınır ve bu kullanıcının finans geçmişine eklenir.
            if (result.Amount > 0)
            {
                double commission = GetCommission(user, result.Amount);

                FinanceHistory financeHistory = new FinanceHistory()
                {
                    CustomerId = result.CustomerId, Money = result.Amount + commission, Date = DateTime.Now, FinanceTypeId = 4, MoneyTypeId = 1
                };
                _context.FinanceHistories.Add(financeHistory);

                _context.SaveChanges();

                ViewBag.Success = true;
                ViewBag.Message = $"{result.PurchasedQuantity} adet ürün {result.Amount} TL' den alındı. İşlem için {commission} TL ücret kesildi.";
            }
            // Eğer kullanıcı belirli bir fiyattan almak istiyorsa bu istek listesine eklenir.
            else if (model.Price > 0)
            {
                LimitBuy limitBuy = new LimitBuy {
                    Date = DateTime.Now, Price = model.Price, ProductId = model.ProductId, UserId = user.Id, Quantity = model.Quantity
                };
                _context.LimitBuys.Add(limitBuy);

                _context.SaveChanges();

                ViewBag.Success = true;
                ViewBag.Message = $" {model.Quantity} tane ürün {model.Price}TL' den alınmak üzere istek listesine eklendi.";
            }
            else
            {
                ViewBag.Success = false;
                ViewBag.Message = "Para yetmediği için ürün alınamadı.";
            }

            ViewBag.Product = _context.Products.Find(model.ProductId);
            return(View());
        }
示例#8
0
        public async Task <IActionResult> AddComment(string commentText, int?id)
        {
            var comment = new Comment();
            var user    = await _userManager.GetUserAsync(HttpContext.User);

            var store = _context.Stores.Where(i => i.Id == id).FirstOrDefault();

            comment.StoreModelId = store.Id;
            comment.UserName     = user.UserName;
            comment.CommentText  = commentText;



            await _context.Comments.AddAsync(comment);

            _context.SaveChanges();



            return(RedirectToAction("Index"));
        }
示例#9
0
        public ActionResult Index(string submit, int Id)
        {
            var product = _context.Products.Find(Id);

            switch (submit)
            {
            case "Sil":
                _context.Products.Remove(product);
                break;

            case "Onayla":
                product.IsApproved = true;
                break;

            default:
                throw new Exception();
            }

            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#10
0
        public ActionResult YeniUrun(NewProduct model)
        {
            var userId   = User.Identity.GetUserId();
            var bakiye   = _context.Users.Find(userId).Money;
            var supplier = _context.Suppliers.Where(c => c.UserId == userId).FirstOrDefault();

            if (ModelState.IsValid)
            {
                var product = new Product()
                {
                    Image      = model.Image,
                    Name       = model.Name,
                    QuantityId = model.QuantityId
                };

                _context.Products.Add(product);
                _context.SaveChanges();

                var supplierProduct = new SupplierProduct()
                {
                    ProductId     = product.Id,
                    Price         = model.Price,
                    QuantityValue = model.QuantityValue,
                    SupplierId    = supplier.Id
                };

                _context.SupplierProducts.Add(supplierProduct);
                _context.SaveChanges();

                _controller.LimitBuy(product.Id);

                return(RedirectToAction("Dukkanim", "Account"));
            }

            ViewBag.QuantityId = new SelectList(_context.Quantities, "Id", "Type", model.QuantityId);
            return(View(model));
        }
        public void Create(IUserProfile item)
        {
            UserProfile _item = new UserProfile()
            {
                Id                    = item.Id,
                AvatarPathStr         = item.AvatarPathStr,
                Name                  = item.Name,
                Position              = item.Position,
                MethodOfNotifications = item.MethodOfNotifications,
                Address               = item.Address,
            };

            _dataContext.ClientProfiles.Add(_item);
            _dataContext.SaveChanges();
        }
示例#12
0
        public ActionResult UserUpdate(PortalUser gelen, HttpPostedFileBase file)
        {
            var user = db.Users.FirstOrDefault(i => i.Id == gelen.Id);

            if (ModelState.IsValid)
            {
                var extension      = ".jpg";
                var randomfilename = "default_avatar_male";
                var folder         = Server.MapPath("~/uploads/UserPicture");
                var filename       = Path.ChangeExtension(randomfilename, extension);

                if (file != null)
                {
                    extension      = Path.GetExtension(file.FileName);
                    randomfilename = Path.GetFileNameWithoutExtension(file.FileName) + Path.GetRandomFileName();
                    filename       = Path.ChangeExtension(randomfilename, extension);
                    var path = Path.Combine(folder, filename);
                    file.SaveAs(path);
                }


                user.UserName    = gelen.UserName;
                user.Name        = gelen.Name;
                user.LastName    = gelen.LastName;
                user.Title       = gelen.Title;
                user.Email       = gelen.Email;
                user.PhoneNumber = gelen.PhoneNumber;
                user.Address     = gelen.Address;
                user.CiktiMi     = gelen.CiktiMi;
                user.IsCikis     = gelen.IsCikis ?? "Çıkış yapmadı";
                user.Resim       = filename;
                db.SaveChanges();


                TempData["Success"] = "Kullanıcı güncellendi !";
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(gelen));
            }
        }
示例#13
0
        public async Task <IActionResult> SendMessage(int chatId, string message, string roomName, [FromServices] IdentityDataContext _context)
        {
            var Message = new Message()
            {
                ChatId    = chatId,
                Name      = User.Identity.Name,
                Text      = message,
                Timestamp = DateTime.Now
            };


            _context.Messages.Add(Message);
            _context.SaveChanges();
            await _chat.Clients.Group(roomName).SendAsync("ReceiveMessage", new {
                text      = Message.Text,
                name      = Message.Name,
                timestamp = Message.Timestamp.ToString("dd/MM/yyyy HH:mm:ss")
            });

            return(Ok());
        }
示例#14
0
        public ActionResult Delete(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                //Hata kontolü
                return(RedirectToAction("Index", "Admin", null));
            }
            IdentityDataContext db = new IdentityDataContext();
            var user = userManager.Users.FirstOrDefault(i => i.Id == id);
            var cv   = db.CVler.Where(i => i.PortalUserId == user.Id);

            foreach (var item in cv)
            {
                db.CVler.Remove(item);
            }
            db.SaveChanges();
            userManager.Delete(user);


            TempData["Success"] = "Kullanıcı silindi !";
            return(RedirectToAction("Index", "Admin", null));
        }
示例#15
0
        public static void AlimentarBaseDados(IdentityDataContext db)
        {
            try
            {
                #region AddUsuario
                List <Usuarios> usuarios = new List <Usuarios>();

                var usu1 = new Usuarios();
                usu1.Id                 = "666ef5e2-b9b3-4691-8449-52c6444bb6b2";
                usu1.UserName           = "******";
                usu1.NormalizedUserName = "******";
                usu1.Email              = "*****@*****.**";
                usu1.NormalizedEmail    = "*****@*****.**";
                usu1.EmailConfirmed     = true;
                usu1.PasswordHash       = "AQAAAAEAACcQAAAAELaNWxeWj9tBjiw13tQTvOVbd7nmDhof/3Wp2CXQmyBvKO0JyuZ3vBzf3QXfTzOlIA==";
                usu1.SecurityStamp      = "5X5F7RIXE5DHAIWEM4MCGM7QRFQOK67C";
                usu1.ConcurrencyStamp   = "6625979f-d1c1-46fb-aa54-4e094badd8bd";
                usu1.Ativo              = true;
                usu1.IdPerfil           = 1;
                usu1.Nome               = "caique";
                usuarios.Add(usu1);

                db.Usuarios.AddRange(usuarios);
                db.SaveChanges();

                #endregion
            }
            catch (Exception ex)
            {
                System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
                FileVersionInfo            fvi      = FileVersionInfo.GetVersionInfo(assembly.Location);
                string versao = fvi.FileVersion;

                Log.FazLog("Criação das Tabelas/Banco", "Log", versao, ex);
            }
        }
示例#16
0
        public ActionResult LoadMoney(int Id, string submit, string rateCode, int Quantity = 0)
        {
            int money;

            switch (submit)
            {
            case "50 TL":
                money = 50;
                break;

            case "100 TL":
                money = 100;
                break;

            case "200 TL":
                money = 200;
                break;

            default:
                money = Quantity;
                break;
            }

            int moneyType = Convert.ToInt32(rateCode);

            FinanceHistory financeHistory = new FinanceHistory()
            {
                CustomerId = Id, Money = money, Date = DateTime.Now, FinanceTypeId = 2, MoneyTypeId = moneyType
            };

            _context.FinanceHistories.Add(financeHistory);

            _context.SaveChanges();

            return(RedirectToAction("Cuzdanim"));
        }
        public async Task <bool> AddComment(CommentItem commentItem)
        {
            await _db.CommentItem.AddAsync(commentItem);

            return(_db.SaveChanges() > 0);
        }
示例#18
0
        public ActionResult IzinIste(IzinModel izin)
        {
            ViewBag.izinListesi = IzinTurRepository.IzinTurListesi();
            if (ModelState.IsValid)
            {
                var user = db.Users.Single(i => i.UserName == HttpContext.User.Identity.Name);
                var yeni = new IzinModel();
                yeni.IzinTuru        = izin.IzinTuru;
                yeni.IzinAciklama    = izin.IzinAciklama;
                yeni.BaslangicTarihi = izin.BaslangicTarihi;
                yeni.BitisTarihi     = izin.BitisTarihi;
                ResmiTatilEkle(izin.BitisTarihi);//son yılı kontrol ediyor
                DateTime geciciTarih = izin.BaslangicTarihi;
                double   gunSayi     = 0;
                string   gun         = string.Empty;

                while (geciciTarih <= izin.BitisTarihi)//haftasonlarını geçiyor
                {
                    gun = geciciTarih.ToString("dddd");
                    if (gun != "Cumartesi" && gun != "Pazar")
                    {
                        gunSayi = gunSayi + GunKontrol(geciciTarih);
                    }
                    geciciTarih = geciciTarih.AddDays(1);
                }

                //
                DateTime Calismadate = user.IseGiris;
                TimeSpan subt        = DateTime.Now.Subtract(Calismadate);
                int      Calismagün  = Convert.ToInt32(subt.TotalDays);
                int      count       = calismaYilHesapla(Calismagün);//toplam çalıştığı yılı hesaplıyor


                var izinler = db.Izinler.Where(a => a.PortalUserId == user.Id).Select(i => new IzinGelen()
                {
                    Id              = i.Id,
                    Name            = i.User.Name,
                    BaslangicTarihi = i.BaslangicTarihi,
                    BitisTarihi     = i.BitisTarihi,
                    LastName        = i.User.LastName,
                    IzinAciklama    = i.IzinAciklama,
                    IzinGun         = i.IzinGun,
                    IzinTuru        = i.IzinTuru,
                    Onaylandi       = i.Onaylandi,
                });
                double kullanilanIzin  = 0;
                int    toplamIzınHakkı = izinHakkiHesapla(count);

                foreach (var item in izinler)
                {
                    if (DateTime.Now.AddYears(-5) < item.BaslangicTarihi)
                    {
                        kullanilanIzin = Convert.ToDouble(item.IzinGun) + kullanilanIzin;
                    }
                }
                kullanilanIzin = kullanilanIzin + gunSayi;
                if (yeni.IzinTuru == "Doğum izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "doğum izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Doğum izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Ölüm izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "ölüm izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Ölüm izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Ücretli izin")
                {
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Ücretli izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Evlilik izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "Evlilik izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Evlilik izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else//Yıllık izin
                {
                    if (kullanilanIzin > toplamIzınHakkı)
                    {
                        if (kullanilanIzin > toplamIzınHakkı + ekstraIzin(count))
                        {
                            kullanilanIzin      = kullanilanIzin - gunSayi;
                            ViewData["Warning"] = MvcHtmlString.Create("Izin hakkınızı geçiyor." + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Kullanılan izin Hakkı :" + kullanilanIzin + "<br>" + "Almak istediginiz izin :" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - kullanilanIzin));
                            return(View());
                        }
                        ViewData["Warning"] = "Kullanmak istediğiniz izin günü sizin izin hakkınızı geçiyor. Fakat sizin bir dahaki senenin izin hakkından kullanılacak";
                        yeni.IzinGun        = gunSayi.ToString();
                        yeni.Onaylandi      = false;
                        yeni.PortalUserId   = user.Id;
                        db.Izinler.Add(yeni);
                        db.SaveChanges();
                        kullanilanIzin      = kullanilanIzin - gunSayi;
                        ViewData["Success"] = MvcHtmlString.Create("İzin başarıyla kaydedildi" + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Aldıgınız izin :" + gunSayi + "<br>" + "Toplam kullanılan izinler:" + kullanilanIzin + "+" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - (kullanilanIzin + gunSayi)));
                        var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                        mc.MailGonderAsync(mesaj, "izin");
                    }
                    else
                    {
                        yeni.IzinGun      = gunSayi.ToString();
                        yeni.Onaylandi    = false;
                        yeni.PortalUserId = user.Id;
                        db.Izinler.Add(yeni);
                        db.SaveChanges();
                        kullanilanIzin      = kullanilanIzin - gunSayi;
                        ViewData["Success"] = MvcHtmlString.Create("İzin başarıyla kaydedildi" + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Aldıgınız izin :" + gunSayi + "<br>" + "Toplam kullanılan izinler:" + kullanilanIzin + "+" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - (kullanilanIzin + gunSayi)));
                        var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                        mc.MailGonderAsync(mesaj, "izin");
                    }
                    //
                }

                return(View());
            }
            else
            {
                return(View(izin));
            }
        }
 public bool Save()
 {
     return(_db.SaveChanges() > 0);;
 }
示例#20
0
        public async Task <bool> CreateInitiative(Initiative initiative)
        {
            await _db.Initiative.AddAsync(initiative);

            return(_db.SaveChanges() > 0);
        }
示例#21
0
        public async Task <bool> CreateInitiativeYear(InitiativeYear initiativeYear)
        {
            await _db.InitiativeYear.AddAsync(initiativeYear);

            return(_db.SaveChanges() > 0);
        }
        public async Task <bool> AddInitiativeMember(InitiativeMember initiativeMember)
        {
            await _db.InitiativeMember.AddAsync(initiativeMember);

            return(_db.SaveChanges() > 0);
        }
        public async Task <bool> AddInitiativeMeeting(InitiativeMeeting initiativeMeeting)
        {
            await _db.InitiativeMeeting.AddAsync(initiativeMeeting);

            return(_db.SaveChanges() > 0);
        }
示例#24
0
        public async Task <bool> InsertAssignees(ItemAssignee itemAssignee)
        {
            await _db.ItemAssignee.AddAsync(itemAssignee);

            return(_db.SaveChanges() > 0);
        }
示例#25
0
        public async Task <bool> CreateEvaluationCriterion(EvaluationCriteria evaluationCriteria)
        {
            await _db.EvaluationCriteria.AddAsync(evaluationCriteria);

            return(_db.SaveChanges() > 0);
        }
        public async Task <bool> CreateReviewCycle(ReviewCycle reviewCycle)
        {
            await _db.ReviewCycle.AddAsync(reviewCycle);

            return(_db.SaveChanges() > 0);
        }