Проектирование и реализация web-приложения для предоставления транспортных услуг
Разработка web-приложения для автоматизации работы диспетчера транспортной компании. Анализ требований к формированию программного обеспечения. Анализ построения логической модели информации. Суть создания SQL-скриптов для реализации таблиц баз данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.06.2017 |
Размер файла | 602,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
{
Session["Culture"] = new CultureInfo(lang);
return Redirect(returnUrl);
}
[HttpGet]
public ActionResult Login()
{
return View(new LoginViewModel());
}
[HttpPost]
public ActionResult Login(LoginViewModel model)
{
//_usersProvider.LoginUser(model.Login, model.Password);
var user = _usersProvider.LoginUser(model.Login, model.Password);
if (user == null)
{
model.UserNotExist = true;
}
else
{
UserContext.SetUser(user);
return RedirectToAction("Profile");
}
return View(model);
}
[HttpGet]
public ActionResult NewLogin()
{
return View(new NewLoginViewModel());
}
[HttpPost]
public async Task<ActionResult> NewLogin(NewLoginViewModel model)
{
if (ModelState.IsValid)
{
string photoURL = "";
if (model.Upload != null)
{
// получаем имя файла
string fileName = System.IO.Path.GetFileName(model.Upload.FileName);
photoURL = "/Content/UserImages/" + fileName;
// сохраняем файл в папку Files в проекте
model.Upload.SaveAs(Server.MapPath(photoURL));
}
var user = _usersProvider.RegisterUser(model.Surname, model.Name, model.Middle_name, model.Email, model.Phone, model.RightsCategory, photoURL, model.Password);
UserContext.SetUser(user);
});
return RedirectToAction("Profile");
}
return View(model);
}
[HttpGet]
public ActionResult Profile()
{
var User = UserContext.GetCurrentUser();
if (User != null)
{
var model = new ProfileViewModel
{
Surname = User.Surname,
Name = User.Name,
Middle_name = User.MiddleName,
Email = User.Email,
//DrivingExpirience = User.DrivingExpirience,
RightsCategory = User.RightsCategory,
Phone = User.Phone,
Password = User.Password,
Repeat_password = User.Password,
Upload = User.PhotoURL
};
return View(model);
}
else { return View(); }
}
[HttpPost]
public ActionResult Profile(ProfileViewModel model)
{
if (ModelState.IsValid)
{
string photoURL = model.Upload;
if (model.Image != null)
{
// получаем имя файла
string fileName = System.IO.Path.GetFileName(model.Image.FileName);
photoURL = "/Content/UserImages/" + fileName;
// сохраняем файл в папку Files в проекте
model.Image.SaveAs(Server.MapPath(photoURL));
}
var user = _usersProvider.EditingProfile(model.Surname, model.Name, model.Middle_name, model.Email, model.Phone, model.RightsCategory, model.Password, photoURL);
UserContext.SetUser(user);
}
return View(model);
}
[HttpGet]
public ActionResult EditingOfAllProfiles(string surname, string name, string middle_name, string email, string phone, string rightsCategory, string password, string photo)
{
var model = new ProfileViewModel
{
Surname = surname,
Name = name,
Middle_name = middle_name,
Email = email,
//DrivingExpirience = drivingExperiance,
RightsCategory = rightsCategory,
Phone = phone,
Password = password,
Repeat_password = password,
Upload = photo
};
return View(model);
}
[HttpGet]
public ActionResult AllProfiles()
{
var model = new ProfileList();
var profiles = _usersProvider.GetAllProfiles();
foreach (var profile in profiles)
{
var profileViewModel = new ProfileViewModel
{
Surname = profile.Surname,
Name = profile.Name,
Middle_name = profile.MiddleName,
Email = profile.Email,
// DrivingExpirience = profile.DrivingExpirience,
RightsCategory = profile.RightsCategory,
Phone = profile.Phone,
Password = profile.Password,
Upload = profile.PhotoURL
};
model.ProfilesList.Add(profileViewModel);
}
return View(model);
}
[HttpPost]
public ActionResult AllProfiles(ProfileList model)
{
var profiles = _usersProvider.GetAllProfilesOderBy();
foreach (var profile in profiles)
{
var profileViewModel = new ProfileViewModel
{
Surname = profile.Surname,
Name = profile.Name,
Middle_name = profile.MiddleName,
Email = profile.Email,
//DrivingExpirience = profile.DrivingExpirience,
RightsCategory = profile.RightsCategory,
Phone = profile.Phone,
Password = profile.Password,
Upload = profile.PhotoURL
};
model.ProfilesList.Add(profileViewModel);
}
return View(model);
}
[HttpGet]
public ActionResult LogOut()
{
UserContext.SetUser(null);
return RedirectToAction("Index", "Information");
}
}
}
VehicleController.cs
using MvcApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BusinessLogic.Interfaces;
using BusinessLogic.Providers;
using MvcApplication1.Helpers;
using System.Globalization;
using System.Net.Mail;
using System.Threading.Tasks;
namespace MvcApplication1.Controllers
{
public class VehicleController : Controller
{
private IVehiclesProvider _vehiclesProvider = new VehiclesProvider();
//
// GET: /Vehicle/
[HttpGet]
public ActionResult Vehicle()
{
return View(new VehicleViewModel());
}
[HttpGet]
public ActionResult AllVehicles()
{
var model = new VehicleList();
var vehicles = _vehiclesProvider.GetAllVehicles();
foreach (var vehicle in vehicles)
{
var vehicleViewModel = new VehicleViewModel
{
Mark = vehicle.Mark,
Model = vehicle.Model,
TypeofVehicle = vehicle.TypeofVehicle,
Capacity = vehicle.Сapacity,
Area = vehicle.Area,
Size = vehicle.Size
};
model.VehiclesList.Add(vehicleViewModel);
}
return View(model);
}
[HttpPost]
public ActionResult AllVehicles(VehicleList model)
{
var vehicles = _vehiclesProvider.GetAllVehiclesOderBy();
foreach (var vehicle in vehicles)
{
var vehicleViewModel = new VehicleViewModel
{
Mark = vehicle.Mark,
Model = vehicle.Model,
TypeofVehicle = vehicle.TypeofVehicle,
Capacity = vehicle.Сapacity,
Area = vehicle.Area,
Size = vehicle.Size
};
model.VehiclesList.Add(vehicleViewModel);
}
return View(model);
}
}
}
InformationController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
public class InformationController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult TermsUse()
{
return View();
}
}
}
LoginViewModel.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MvcApplication1.Models
{
public class LoginViewModel
{
public bool UserNotExist { get; set; }
public string Login { get; set; }
public string Password { get; set; }
}
public class NewLoginViewModel
{
public HttpPostedFileBase Upload { get; set; }
[Required(ErrorMessage = "Ошибка, поле «Имя» должно быть обязательно заполненным!")]
public string Name { get; set; }
[Required(ErrorMessage = "Ошибка, поле «Фамилия» должно быть обязательно заполненным!")]
public string Surname { get; set; }
public string Middle_name { get; set; }
[Required(ErrorMessage = "Ошибка, поле «Емейл» должно быть обязательно заполненным!")]
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Некорректный адрес")]
public string Email { get; set; }
public string Phone { get; set; }
[StringLength(50, MinimumLength = 0, ErrorMessage = "Длина строки должна быть меньше 100 символов")]
//public float DrivingExpirience { get; set; }
public string RightsCategory { get; set; }
[Required(ErrorMessage = "Ошибка, поле «Пароль» должно быть обязательно заполненным!")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required(ErrorMessage = "Ошибка, поле «Повторный ввод пароля» должно быть обязательно заполненным!")]
[Compare("Password", ErrorMessage = "Пароли не совпадают")]
[DataType(DataType.Password)]
public string Repeat_password { get; set; }
}
}
ProfileList.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MvcApplication1.Models
{
public class ProfileList
{
public ProfileList()
{
ProfilesList = new List<ProfileViewModel>();
}
public List<ProfileViewModel> ProfilesList { get; set; }
}
}
ProfileViewModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace MvcApplication1.Models
{
public class ProfileViewModel
{
public string Surname { get; set; }
public string Name { get; set; }
public string Middle_name { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string RightsCategory { get; set; }
[StringLength(50, MinimumLength = 0, ErrorMessage = "Длина строки должна быть меньше 100 символов")]
public string Password { get; set; }
// public float DrivingExpirience { get; set; }
public string Upload { get; set; }
public HttpPostedFileBase Image { get; set; }
[Compare("Password", ErrorMessage = "Пароли не совпадают")]
[DataType(DataType.Password)]
public string Repeat_password { get; set; }
}
}
Product.cs
using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database.Entyties
{
[Table(Name = "Products")]
public class Product
{
[Column]
public int IdProduct { get; set; }
[Column]
public string Name { get; set; }
[Column]
public string Typeofproduct { get; set; }
[Column]
public float Weight { get; set; }
[Column]
public float Width { get; set; }
[Column]
public float Height { get; set; }
[Column]
public float Length { get; set; }
[Column]
public float Price { get; set; }
}
}
Traffic.cs
using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database.Entyties
{
[Table(Name = "Traffics")]
public class Traffic
{
[Column]
public int IdTraffic { get; set; }
[Column]
public string Name { get; set; }
[Column]
public string Email { get; set; }
[Column]
public DateTime Date { get; set; }
[Column]
public string PointA { get; set; }
[Column]
public string PointB { get; set; }
[Column]
public string Client { get; set; }
[Column]
public string Number { get; set; }
[Column]
public int IdVehicle { get; set; }
[Column]
public int IdProduct { get; set; }
}
}
Vehicle.cs
using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database.Entyties
{
[Table(Name = "Vehicles")]
public class Vehicle
{
[Column]
public int IdVehicle { get; set; }
[Column]
public string Mark { get; set; }
[Column]
public string Model { get; set; }
[Column]
public string TypeofVehicle { get; set; }
[Column]
public float Сapacity { get; set; }
[Column]
public float Area { get; set; }
[Column]
public float Size { get; set; }
}
}
User.cs
using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database.Entyties
{
[Table(Name = "Users")]
public class User
{
[Column]
public string Surname { get; set; }
[Column]
public string Name { get; set; }
[Column(Name = "Middle_name")]//указываем, если имя изменилось
public string MiddleName { get; set; }
[Column(IsPrimaryKey = true)]
public string Email { get; set; }
[Column]
public string Phone { get; set; }
[Column]
public string PhotoURL { get; set; }
//[Column(Name = "DrivingExpirience")]//указываем, если имя изменилось
//public float DrivingExpirience { get; set; }
[Column(Name = "RightsCategory")]//указываем, если имя изменилось
public string RightsCategory { get; set; }
[Column]
public string Password { get; set; }
[Column]
public bool IsAdmin { get; set; }
}
}
IUserProvider.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Database.Entyties;
namespace BusinessLogic.Interfaces
{
public interface IUsersProvider
{
User RegisterUser(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL);
User LoginUser(string Login, string Password);
User EditingProfile(string Surname, string Name, string MiddleName, string Phone, string Email, string RightsCategory, string Password, string PhotoURL);
IEnumerable<User> GetAllProfiles();
IEnumerable<User> GetAllProfilesOderBy();
}
}
IuserInterface.cs
using BusinessLogic.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Database.Entyties;
using Database;
namespace BusinessLogic.Providers
{
public class UsersProvider : IUsersProvider
{
private TransportationServicesDatabaseContext _context = new TransportationServicesDatabaseContext();
public User RegisterUser(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL)
{
var user = new User
{
Surname = surname,
Name = name,
MiddleName = middleName,
Email = email,
Phone = phone,
//DrivingExpirience = drivingExpirience,
RightsCategory = rightsCategory,
Password = password,
PhotoURL = photoURL
};
_context.Users.InsertOnSubmit(user);
_context.SubmitChanges();
return user;
}
public User LoginUser(string login, string password)
{
var user = _context.Users.FirstOrDefault(u => string.Equals(u.Email, login));
if (user != null && string.Equals(user.Password, password))
{
return user;
}
return null;
}
public User EditingProfile(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL)
{
var user = _context.Users.FirstOrDefault(u => int.Equals(u.Email, email));
user.Surname = surname;
user.Name = name;
user.MiddleName = middleName;
user.Phone = phone;
user.RightsCategory = rightsCategory;
user.Password = password;
// user.DrivingExpirience = drivingExpirience;
user.PhotoURL = photoURL;
_context.SubmitChanges();
return user;
}
public IEnumerable<User> GetAllProfiles()
{
return _context.Users.OrderBy(t => t.Email);
}
public IEnumerable<User> GetAllProfilesOderBy()
{
return _context.Users.OrderBy(t => t.Surname);
}
}
}
Размещено на Allbest.ru
...Подобные документы
Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.
дипломная работа [1,4 M], добавлен 03.06.2014Проектирование базы данных для автоматизации деятельности по учету автотранспорта ГИБДД Вяземского района. Выбор инструментария для разработки базы данных и приложения по её ведению. Описание интерфейса и физической структуры приложения баз данных.
курсовая работа [2,2 M], добавлен 28.06.2011Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015Разработка базы данных и прикладного программного приложения с целью обеспечения хранения, накопления и предоставления информации об учащихся МБОУ "Средняя общеобразовательная школа №18" г. Грозный. Методы обеспечения информационной безопасности.
дипломная работа [2,9 M], добавлен 25.06.2015Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Исследование спецификации логической игры "Сапёр". Системное и функциональное проектирование приложения. Разработка программных модулей. Обзор классов, необходимых для создания интерфейса данного приложения. Инструменты для реализации логической игры.
курсовая работа [1,2 M], добавлен 13.01.2016Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013Объектно-ориентированный анализ и проектирование ИС. Описание требований в контексте модели прецедентов. Функции обработки входной информации. Определение требований к клиентскому приложению. Назначение создаваемой АСУ. Разработка приложения пользователя.
дипломная работа [2,7 M], добавлен 07.02.2016Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.
курсовая работа [4,8 M], добавлен 28.04.2014Методика и основные этапы проектирования логической и физической модели базы данных. Реализация спроектированной модели в системе управления базами данных, принципы создания и апробация специального клиентского приложения для работы данной программы.
курсовая работа [1,3 M], добавлен 27.06.2013Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Анализ проблемы автоматизации и управления производством. Организационная структура Дирекции по информационным технологиям, разработка логической схемы базы данных. Разработка приложения в среде Oracle Express Edition. Экономическая эффективность проекта.
дипломная работа [500,3 K], добавлен 25.07.2015Общие сведения о платформе Microsoft NET Framework. Разработка приложения "Поставка и реализация программного обеспечения", содержащего базу данных о каталогах адресов в Internet. Описание логической структуры. Требования к техническому обеспечению.
курсовая работа [2,4 M], добавлен 28.06.2011Разработка базы данных для учета размещения и услуг гостиницы-отеля "Баташев". Анализ предметной области, проектирование базы данных. Реализация SQL-запросов для создания объектов и получения отчетов. Реализация приложения для работы с базой данных.
курсовая работа [336,0 K], добавлен 05.01.2014Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.
курсовая работа [2,4 M], добавлен 11.02.2013Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.
курсовая работа [462,5 K], добавлен 10.08.2014Системный анализ и анализ требований. Концептуальная модель данных. Проектирование логической структуры реляционной базы данных. Даталогическая модель базы данных. Алгоритмы реализации модулей и их реализация (запросы, таблицы, формы, отчеты, макросы).
курсовая работа [1,6 M], добавлен 17.12.2015Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.
дипломная работа [2,6 M], добавлен 13.09.2017