public static string GetUserNameById(string Id) { DatabaseControler dc = new DatabaseControler(); ApplicationUser user = dc.GetUserById(Id); return(user.FirstName + " " + user.LastName); }
public ActionResult Index(AccountMessageId?message) { ViewBag.StatusMessage = message == AccountMessageId.RegisterAccountSuccess ? "Konto zostało utworzone. Na maila dostałeś instrukcję pełnej aktywacji." : message == AccountMessageId.StartTravelSuccess ? "Rozpocząłeś nową podróż służbową" : message == AccountMessageId.StopTravelSuccess ? "Zakończyłeś podróż służbową" : message == AccountMessageId.ConfirmMailSendSuccess? "Mail z linkiem aktywacyjnym został wysłany": ""; CurrentUserInTravelViewModels cuitvm = new CurrentUserInTravelViewModels(); if (Request.IsAuthenticated) { DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); int carId = dc.HasCarInTravel(user.Id); cuitvm.CarId = carId; if (carId != 0) { cuitvm.HasCarInTravel = true; } } else { cuitvm.HasCarInTravel = false; } return(View(cuitvm)); }
public async Task <ActionResult> AddPhoneNumber(AddPhoneNumberViewModel model) { DatabaseControler dc = new DatabaseControler(); if (!ModelState.IsValid) { var list = dc.GetDirectPhoneNumbers(); SelectList slist = new SelectList(list, "Id", "Name", "Polska"); model.Countries = slist; return(View(model)); } // Generate the token and send it var number = dc.GetDirectPhoneNumber(int.Parse(model.Country)) + model.Number.Replace(" ", ""); var code = await UserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.GetUserId(), number); if (UserManager.SmsService != null) { var message = new IdentityMessage { Destination = number, Body = "Twoj kod weryfikacyjny: " + code }; await UserManager.SmsService.SendAsync(message); } return(RedirectToAction("VerifyPhoneNumber", new { PhoneNumber = number })); }
// // GET: /Manage/AddPhoneNumber public ActionResult AddPhoneNumber() { DatabaseControler dc = new DatabaseControler(); var list = dc.GetDirectPhoneNumbers(); var model = new AddPhoneNumberViewModel(); SelectList slist = new SelectList(list, "Id", "Name", "Polska"); model.Countries = slist; return(View(model)); }
public ActionResult UpdateCompany() { var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); CompanyViewModel cc = new CompanyViewModel(); DatabaseControler dc = new DatabaseControler(); dc.GetCompany(ref cc, user.Id); return(View(cc)); }
public ActionResult Index() { CarsViewModel model = new CarsViewModel(); model.IsAdministrator = IsAdministrator(); DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); var user = userManager.FindByName(userName); model.IsSetCompany = dc.IsSetCompany(user.Id); model.CarList = dc.GetAllCars(user); return View(model); }
public bool IsAdministrator() { bool retval = false; var userId = User.Identity.GetUserId(); DatabaseControler dc = new DatabaseControler(); var user = dc.GetUserById(userId); if (dc.GetUserRoles(user).Contains("ADMINISTRATOR")) { retval = true; } return retval; }
public static bool IsAdministrator(string Id) { bool retval = false; DatabaseControler dc = new DatabaseControler(); ApplicationUser user = dc.GetUserById(Id); if (dc.GetUserRoles(user).Contains("ADMINISTRATOR")) { retval = true; } return(retval); }
public ActionResult UpdateCompany(CompanyViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); DatabaseControler dc = new DatabaseControler(); dc.UpdateCompany(model, user.Id); return(RedirectToAction("Index", "Company", new { Message = CompanytMessageId.UpdateCompanySuccess })); }
public ActionResult Report(SelectDateViewModel model) { DatabaseControler dc = new DatabaseControler(); SelectDateViewModel selectModel = dc.GetSelectDateModelByCarId(model.CarId); selectModel.MonthId = model.MonthId; selectModel.YearId = model.YearId; if (!ModelState.IsValid) { return(View("SelectDate", selectModel)); } PdfController pc = new PdfController(); return(new FileStreamResult(pc.CreateDistanceReportByCarId(model.CarId, int.Parse(selectModel.Mounth.ToList()[model.MonthId].Value), int.Parse(selectModel.Year.ToList()[model.YearId].Value)), "application/pdf")); }
public ActionResult Save(CarViewModels car) { if (!ModelState.IsValid) { car.CarStatus = _context.CarStatuses.ToList(); return View("CarForm", car); } DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); var user = userManager.FindByName(userName); dc.AddCar(car, user); return RedirectToAction("Index", "Cars"); }
public ActionResult Report(string id) { DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); int Id = 0; if (!int.TryParse(id, out Id)) { return(RedirectToAction("Index", "Home")); } SelectDateViewModel sdvm = dc.GetSelectDateModelByCarId(Id); return(View("SelectDate", sdvm)); }
// GET: Drivers cała lista kierowców public ActionResult Index() { DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); if (!IsAdministrator(user.Id)) { RedirectToAction("Index", "Home"); } var drivers = dc.GetAllUsers(user); DriversViewModels model = new DriversViewModels(); model.Drivers = drivers; model.IsSetCompany = dc.IsSetCompany(user.Id); return(View(model)); }
public ActionResult StartTravel(string id) { TravelViewModels tvm = new TravelViewModels(); tvm.Button = "Start"; tvm.Title = "Rozpocznij podróż"; int Id = 0; DatabaseControler dc = new DatabaseControler(); if (!int.TryParse(id, out Id) || dc.IsInTravel(Id)) { return(RedirectToAction("Index", "Home")); } tvm.CarId = Id; tvm.StopKm = "0"; tvm.StartTravel = true; return(View("TravelsForm", tvm)); }
public ActionResult Edit(int id) { DatabaseControler dc = new DatabaseControler(); if (!IsAdministrator() || dc.IsInTravel(id)) { return RedirectToAction("Index", "Cars"); } var car = dc.GetCarById(id); if (car == null) return HttpNotFound(); car.CarStatus = _context.CarStatuses.ToList(); car.IsEditMode = true; return View("CarForm", car); }
public ActionResult Index(CompanytMessageId?message) { ViewBag.StatusMessage = message == CompanytMessageId.UpdateCompanySuccess ? "Dane firmy zostały zapisane w bazie." : ""; var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); CompanyViewModel cc = new CompanyViewModel(); if (userManager.GetRoles(user.Id).Contains("ADMINISTRATOR")) { cc.IsAdministrator = true; } cc.IsAccountConfirmed = user.EmailConfirmed; DatabaseControler dc = new DatabaseControler(); dc.GetCompany(ref cc, user.Id); return(View(cc)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { user.City = model.City; user.FirstName = model.FirstName; user.FlatNumber = model.FlatNumber; user.HouseNumber = model.HouseNumber; user.LastName = model.LastName; user.Street = model.Street; user.ZipCode = model.ZipCode; user.CreateTime = DateTime.Now; user.TwoFactorEnabled = true; user.ModyfiTime = DateTime.Now; var currentUser = UserManager.FindByName(user.UserName); var role = UserManager.AddToRole(currentUser.Id, "Administrator".ToUpper()); DatabaseControler dc = new DatabaseControler(); dc.UpdateUserData(user, currentUser.Id); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "Potwierdź konto", "Kliknij <a href=\"" + callbackUrl + "\">link</a>, aby potwierdzić utworzenie konta."); return(RedirectToAction("AddPhoneNumber", "Manage", new { Message = AccountMessageId.RegisterAccountSuccess })); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult StopTravel(string id) { DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); int Id = 0; if (!int.TryParse(id, out Id)) { return(RedirectToAction("Index", "Home")); } TravelViewModels tvm = dc.GetCurrentTravel(user, Id); tvm.Button = "Stop"; tvm.Title = "Zakończ podróż"; tvm.CarId = Id; tvm.StopKm = string.Empty; return(View("TravelsForm", tvm)); }
public ActionResult UpdateTravel(TravelViewModels model) { if (!ModelState.IsValid) { return(View("TravelsForm", model)); } DatabaseControler dc = new DatabaseControler(); var userName = User.Identity.Name; ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByName(userName); dc.UpdateTravel(model, user); if (model.StartTravel) { return(RedirectToAction("Index", "Home", new { Message = AccountMessageId.StartTravelSuccess })); } else { return(RedirectToAction("Index", "Home", new { Message = AccountMessageId.StopTravelSuccess })); } }
public ActionResult Save(DriverViewModels model) { if (!ModelState.IsValid) { return(View("DriverForm", model)); } else if (!IsAdministrator()) { RedirectToAction("Index", "Home"); } DatabaseControler dc = new DatabaseControler(); IdentityResult result = IdentityResult.Success; ApplicationUser user = new ApplicationUser(); ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); if (string.IsNullOrEmpty(model.Id)) { user = new ApplicationUser { UserName = model.Email, Email = model.Email }; result = userManager.Create(user, model.Password); if (result.Succeeded) { user.City = model.City; user.FirstName = model.FirstName; user.FlatNumber = model.FlatNumber; user.HouseNumber = model.HouseNumber; user.LastName = model.LastName; user.Street = model.Street; user.ZipCode = model.ZipCode; user.CreateTime = DateTime.Now; user.ModyfiTime = DateTime.Now; user.EmailConfirmed = true; user.PhoneNumberConfirmed = true; user.PhoneNumber = "+48" + model.Number; user.TwoFactorEnabled = true; var currentUser = userManager.FindByName(user.UserName); var role = userManager.AddToRole(currentUser.Id, "Kierowca".ToUpper()); } AddErrors(result); } else { user = dc.GetUserById(model.Id); user.City = model.City; user.FirstName = model.FirstName; user.FlatNumber = model.FlatNumber; user.HouseNumber = model.HouseNumber; user.LastName = model.LastName; user.Street = model.Street; user.ZipCode = model.ZipCode; user.CreateTime = DateTime.Now; user.ModyfiTime = DateTime.Now; user.Email = model.Email; user.ModyfiTime = DateTime.Now; user.PhoneNumber = model.Number; } if (result.Succeeded) { dc.UpdateUserData(user, User.Identity.GetUserId()); } return(RedirectToAction("Index", "Drivers")); }
public MemoryStream CreateDistanceReportByCarId(int id, int monthNumber, int year) { MemoryStream retval = new MemoryStream(); Document document = new Document(PageSize.A4); PdfWriter.GetInstance(document, retval).CloseStream = false; DatabaseControler dc = new DatabaseControler(); ReportDataModel rdm = dc.GetReportData(id, monthNumber, year); Font f = new Font(BaseFont.CreateFont(@"C:\Windows\Fonts\times.ttf", BaseFont.CP1250, true)); Font fHeader = new Font(BaseFont.CreateFont(@"C:\Windows\Fonts\times.ttf", BaseFont.CP1250, true)); f.Size = 8; fHeader.Size = 11; Paragraph company = new Paragraph("Dane firmy", fHeader); PdfPTable tableBody = new PdfPTable(2); tableBody.PaddingTop = 30; tableBody.WidthPercentage = 100.0f; tableBody.DefaultCell.Border = Rectangle.NO_BORDER; PdfPTable table = new PdfPTable(2); table.PaddingTop = 30; table.WidthPercentage = 100.0f; table.SetWidths(new float[] { 1, 3 }); PdfPCell cellf1 = new PdfPCell(); cellf1.Border = Rectangle.NO_BORDER; cellf1.AddElement(new Paragraph("Nazwa firmy", f)); PdfPCell cellf2 = new PdfPCell(); cellf2.Border = Rectangle.NO_BORDER; cellf2.AddElement(new Paragraph(rdm.CompanyData.CompanyName, f)); PdfPCell cellf3 = new PdfPCell(); cellf3.Border = Rectangle.NO_BORDER; cellf3.AddElement(new Paragraph("Adres", f)); PdfPCell cellf4 = new PdfPCell(); cellf4.Border = Rectangle.NO_BORDER; cellf4.AddElement(new Paragraph(getAddress(rdm.CompanyData), f)); PdfPCell cellf5 = new PdfPCell(); cellf5.Border = Rectangle.NO_BORDER; cellf5.AddElement(new Paragraph("Nip", f)); PdfPCell cellf6 = new PdfPCell(); cellf6.Border = Rectangle.NO_BORDER; cellf6.AddElement(new Paragraph(rdm.CompanyData.NIP, f)); table.AddCell(cellf1); table.AddCell(cellf2); table.AddCell(cellf3); table.AddCell(cellf4); table.AddCell(cellf5); table.AddCell(cellf6); table.DefaultCell.Border = Rectangle.NO_BORDER; table.HorizontalAlignment = Element.ALIGN_LEFT; document.Open(); PdfPCell right = new PdfPCell(); right.AddElement(company); right.AddElement(table); right.Border = Rectangle.NO_BORDER; Paragraph empty = new Paragraph("", fHeader); right.AddElement(empty); Paragraph drivers = new Paragraph("Dane kierowców", fHeader); drivers.PaddingTop = 20; right.AddElement(drivers); foreach (DriverViewModels model in rdm.DriversData) { Paragraph dIndex = new Paragraph("--------------------------------------------------", f); dIndex.PaddingTop = 50; right.AddElement(dIndex); PdfPTable tabled = new PdfPTable(2); tabled.PaddingTop = 30; tabled.WidthPercentage = 100.0f; tabled.SetWidths(new float[] { 1, 3 }); PdfPCell celld1 = new PdfPCell(); celld1.Border = Rectangle.NO_BORDER; celld1.AddElement(new Paragraph("Imie i nazwisko", f)); PdfPCell celld2 = new PdfPCell(); celld2.Border = Rectangle.NO_BORDER; celld2.AddElement(new Paragraph(model.FirstName + " " + model.LastName, f)); PdfPCell celld3 = new PdfPCell(); celld3.Border = Rectangle.NO_BORDER; celld3.AddElement(new Paragraph("Adres", f)); PdfPCell celld4 = new PdfPCell(); celld4.Border = Rectangle.NO_BORDER; celld4.AddElement(new Paragraph(getAddress(model), f)); tabled.AddCell(celld1); tabled.AddCell(celld2); tabled.AddCell(celld3); tabled.AddCell(celld4); tabled.DefaultCell.Border = Rectangle.NO_BORDER; tabled.HorizontalAlignment = Element.ALIGN_LEFT; right.AddElement(tabled); } tableBody.AddCell(right); PdfPCell left = new PdfPCell(); left.Border = Rectangle.NO_BORDER; Paragraph cParagraf = new Paragraph("Dane samochodu", fHeader); cParagraf.PaddingTop = 20; left.AddElement(cParagraf); PdfPTable enginetable = new PdfPTable(2); enginetable.PaddingTop = 30; enginetable.WidthPercentage = 100.0f; PdfPCell celle1 = new PdfPCell(); celle1.Border = Rectangle.NO_BORDER; celle1.AddElement(new Paragraph("Numer rejestracyjny", f)); PdfPCell celle2 = new PdfPCell(); celle2.Border = Rectangle.NO_BORDER; celle2.AddElement(new Paragraph(rdm.CarData.CarPlate.ToUpper(), f)); PdfPCell celle3 = new PdfPCell(); celle3.Border = Rectangle.NO_BORDER; celle3.AddElement(new Paragraph("Pojemność silnika", f)); PdfPCell celle4 = new PdfPCell(); celle4.Border = Rectangle.NO_BORDER; celle4.AddElement(new Paragraph(rdm.CarData.EngineCapacity.ToString() + " [cm3]", f)); enginetable.AddCell(celle1); enginetable.AddCell(celle2); enginetable.AddCell(celle3); enginetable.AddCell(celle4); enginetable.DefaultCell.Border = Rectangle.NO_BORDER; enginetable.HorizontalAlignment = Element.ALIGN_LEFT; left.AddElement(enginetable); tableBody.AddCell(left); document.Add(tableBody); Font fHeaderBold = new Font(BaseFont.CreateFont(@"C:\Windows\Fonts\times.ttf", BaseFont.CP1250, true)); fHeaderBold.Size = 11; fHeaderBold.SetStyle(1); Paragraph header = new Paragraph("EWIDENCJA PRZEBIEGU POJAZDU", fHeaderBold); header.Alignment = Element.ALIGN_CENTER; document.Add(header); Font fparagrafBold = new Font(BaseFont.CreateFont(@"C:\Windows\Fonts\times.ttf", BaseFont.CP1250, true)); fparagrafBold.Size = 10; fparagrafBold.SetStyle(0); Paragraph month = new Paragraph("za miesiąc " + months[monthNumber], fparagrafBold); month.Alignment = Element.ALIGN_CENTER; Paragraph empty2 = new Paragraph(" ", fHeader); document.Add(month); document.Add(empty2); PdfPTable travelsTable = new PdfPTable(9); travelsTable.PaddingTop = 50; travelsTable.WidthPercentage = 100.0f; PdfPCell cellNr = new PdfPCell(); cellNr.AddElement(new Paragraph("Nr kolejny wpisu", f)); travelsTable.AddCell(cellNr); PdfPCell cellDate = new PdfPCell(); cellDate.AddElement(new Paragraph("Data wyjazdu", f)); travelsTable.AddCell(cellDate); PdfPCell cellDesc = new PdfPCell(); cellDesc.AddElement(new Paragraph("Opis trasy wyjazdu (skąd-dokąd)", f)); travelsTable.AddCell(cellDesc); PdfPCell cellPurpose = new PdfPCell(); cellPurpose.AddElement(new Paragraph("Cel wyjazdu", f)); travelsTable.AddCell(cellPurpose); PdfPCell cellKmCount = new PdfPCell(); cellKmCount.AddElement(new Paragraph("Liczba faktycznie przejechanych kilometrów", f)); travelsTable.AddCell(cellKmCount); PdfPCell cellOneKm = new PdfPCell(); cellOneKm.AddElement(new Paragraph("Stawka za 1 km przebiegu", f)); travelsTable.AddCell(cellOneKm); PdfPCell cellMoney = new PdfPCell(); cellMoney.AddElement(new Paragraph("Wartość", f)); travelsTable.AddCell(cellMoney); PdfPCell cellSignature = new PdfPCell(); cellSignature.AddElement(new Paragraph("Podpis podatnika", f)); travelsTable.AddCell(cellSignature); PdfPCell cellNotes = new PdfPCell(); cellNotes.AddElement(new Paragraph("Uwagi", f)); travelsTable.AddCell(cellNotes); float oneMoney = rdm.CarData.EngineCapacity <= 900 ? 0.5214f : 0.8358f; int travelNr = 1; int sumDistance = 0; float sumMoney = 0; foreach (TravelViewModels travel in rdm.TravelsData) { PdfPCell cellNrFor = new PdfPCell(); cellNrFor.AddElement(new Paragraph(travelNr.ToString(), f)); travelNr++; travelsTable.AddCell(cellNrFor); PdfPCell cellDateFor = new PdfPCell(); cellDateFor.AddElement(new Paragraph(travel.TravelDate.ToShortDateString(), f)); travelsTable.AddCell(cellDateFor); PdfPCell cellDescFor = new PdfPCell(); cellDescFor.AddElement(new Paragraph(travel.From + "-" + travel.To, f)); travelsTable.AddCell(cellDescFor); PdfPCell cellPurposeFor = new PdfPCell(); cellPurposeFor.AddElement(new Paragraph(travel.Purpose, f)); travelsTable.AddCell(cellPurposeFor); PdfPCell cellKmCountFor = new PdfPCell(); int distance = int.Parse(travel.StopKm) - int.Parse(travel.StartKm); sumDistance += distance; cellKmCountFor.AddElement(new Paragraph(distance.ToString(), f)); travelsTable.AddCell(cellKmCountFor); PdfPCell cellOneKmFor = new PdfPCell(); cellOneKmFor.AddElement(new Paragraph(oneMoney.ToString(), f)); travelsTable.AddCell(cellOneKmFor); PdfPCell cellMoneyFor = new PdfPCell(); float money = distance * oneMoney; sumMoney += money; cellMoneyFor.AddElement(new Paragraph(Math.Round(money, 2, MidpointRounding.AwayFromZero).ToString(), f)); travelsTable.AddCell(cellMoneyFor); PdfPCell cellSignatureFor = new PdfPCell(); cellSignatureFor.AddElement(new Paragraph(" ", f)); travelsTable.AddCell(cellSignatureFor); PdfPCell cellNotesFor = new PdfPCell(); cellNotesFor.AddElement(new Paragraph(travel.Notes, f)); travelsTable.AddCell(cellNotesFor); } PdfPCell sum = new PdfPCell(); Paragraph sumParagaph = new Paragraph("Razem ", f); sumParagaph.Alignment = Element.ALIGN_RIGHT; sum.AddElement(sumParagaph); sum.HorizontalAlignment = Element.ALIGN_RIGHT; sum.Colspan = 4; travelsTable.AddCell(sum); PdfPCell sumKm = new PdfPCell(); sumKm.AddElement(new Paragraph(sumDistance.ToString(), f)); travelsTable.AddCell(sumKm); PdfPCell emptyGray = new PdfPCell(); emptyGray.AddElement(new Paragraph(" ", f)); emptyGray.BackgroundColor = BaseColor.GRAY; travelsTable.AddCell(emptyGray); PdfPCell sumMoneyCell = new PdfPCell(); sumMoneyCell.AddElement(new Paragraph(Math.Round(sumMoney, 2, MidpointRounding.AwayFromZero).ToString(), f)); travelsTable.AddCell(sumMoneyCell); travelsTable.AddCell(emptyGray); travelsTable.AddCell(emptyGray); document.Add(travelsTable); document.AddTitle("Kilometrówka " + rdm.CarData.CarPlate.ToUpper() + " - " + months[monthNumber]); document.Close(); byte[] byteInfo = retval.ToArray(); retval.Write(byteInfo, 0, byteInfo.Length); retval.Position = 0; return(retval); }