0% found this document useful (0 votes)
37 views10 pages

Booking Controller

This document contains code for a booking controller in C# and .NET. The controller code handles booking CRUD operations and related functions like getting address data, courier data, and saving booking related entities and details to the database.

Uploaded by

Abdul Rahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views10 pages

Booking Controller

This document contains code for a booking controller in C# and .NET. The controller code handles booking CRUD operations and related functions like getting address data, courier data, and saving booking related entities and details to the database.

Uploaded by

Abdul Rahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

using Expost.

Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Security.Cryptography;
using Microsoft.AspNet.Identity;
using System.Web.Helpers;
using System.Web.Security;
using Newtonsoft.Json;
using System.Data.Entity;
using System.Data.SqlClient;
using System.Configuration;

namespace Expost.Controllers
{
[Authorize]

public class BookingController : Controller


{
ApplicationDbContext db = new ApplicationDbContext();

// GET: Booking
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult EditBook(string id)
{

ViewBag.VB = db.Users.ToList();
ViewBag.VC = db.LA.ToList();
ViewBag.Sp = db.ServiceProvider.ToList();
ViewBag.ACS = db.Courier.ToList();

double shipno = Convert.ToDouble(id);

Createbook editbook = db.CB.Where(a => a.ShipmentNo ==


shipno).ToList().FirstOrDefault();

DTOBookingList model = new DTOBookingList();


model.createbook = editbook;
return View(model);
}
[HttpPost]
public ActionResult EditBook(Createbook editbook)
{
ViewBag.VB = db.Users.ToList();
ViewBag.VC = db.LA.ToList();
ViewBag.Sp = db.ServiceProvider.ToList();
ViewBag.ACS = db.Courier.ToList();

//ViewBag.Sp = new SelectList(db.SSP.ToList(), "Full_Address",


"Full_Address");
//ViewBag.ACS = new SelectList(db.ACS.ToList(), "Service_Name",
"Service_Name");
var data = db.CB.OrderByDescending(a => a.Id).Take(1).Select(a =>
a.ShipmentNo).FirstOrDefault();
ViewBag.ShipmentNo = data + 1;
return View(editbook);
}

public ActionResult Createbook(string id)


{
if (id == "0")
{
ViewBag.VB = db.Users.ToList();
ViewBag.VC = db.LA.ToList();
ViewBag.Sp = db.ServiceProvider.ToList();
ViewBag.ACS = db.Courier.ToList();
double shipno = Convert.ToDouble(id);
//ViewBag.Sp = new SelectList(db.SSP.ToList(), "Full_Address",
"Full_Address");
//ViewBag.ACS = new SelectList(db.ACS.ToList(), "Service_Name",
"Service_Name");
Createbook editbook = db.CB.Where(a => a.ShipmentNo ==
shipno).ToList().FirstOrDefault();
var data = db.CB.OrderByDescending(a => a.Id).Take(1).Select(a =>
a.ShipmentNo).FirstOrDefault();
ViewBag.ShipmentNo = data + 1;
return View(editbook);
}
else
{ double shipno = Convert.ToDouble(id);

ViewBag.VB = db.Users.ToList();
ViewBag.VC = db.LA.ToList();
ViewBag.Sp = db.ServiceProvider.ToList();
ViewBag.ACS = db.Courier.ToList();

Createbook editbook = db.CB.Where(a => a.ShipmentNo ==


shipno).ToList().FirstOrDefault();

DTOBookingList model = new DTOBookingList();

//model.Add(new DTOBookingList()
//{
model.createbook = editbook;
//});
var data = db.CB.OrderByDescending(a => a.Id).Take(1).Select(a =>
a.ShipmentNo).FirstOrDefault();
ViewBag.ShipmentNo = data + 1;
return View(editbook);
}
}

public ActionResult getAddressBook(int id)


{
var data = db.LA.Where(a => a.Id == id).FirstOrDefault();
return Json(data, JsonRequestBehavior.AllowGet);
}
public ActionResult getCourier(string name)
{
var data = db.ServiceProvider.Where(a => a.Full_Address ==
name).ToList();
return Json(data, JsonRequestBehavior.AllowGet);
//return View();
}

public ActionResult getSlipNo(int slipno, string userid)


{
var data = db.manualslip.Where(a => a.UserID == userid && a.Status ==
"Pending").ToList();
if(data.Any(a=>a.SlipNo == slipno))
{
return Json("Success", JsonRequestBehavior.AllowGet);
}
else
{
return Json("Failed", JsonRequestBehavior.AllowGet);
}
}

public ActionResult getCustomerName(string accno)


{
var data = db.Users.Where(a => a.Id == accno).FirstOrDefault();
return Json(data, JsonRequestBehavior.AllowGet);
}

public ActionResult SaveBooking(DTOBooking createbook)


{
ViewBag.Sp = new SelectList(db.ServiceProvider.ToList(),
"Full_Address", "Full_Address");
ViewBag.ACS = new SelectList(db.Courier.ToList(), "Service_Name",
"Service_Name");

var userID = User.Identity.GetUserId();


var branchid = db.Users.Where(a => a.Id == userID).Select(a =>
a.Branch_Id).FirstOrDefault();
createbook.createbook.Branch_Id = branchid;
createbook.createbook.UserId = userID;
createbook.createbook.ShipperAddressBook_Id =
createbook.shipperdata.Shipper_Id;
createbook.createbook.DeliverAddressBook_Id =
createbook.deliverydata.Delivery_Id;
createbook.createbook.C_Id = 0;
createbook.createbook.SP_Id = 0;
createbook.createbook.TrackInfo = "";
createbook.createbook.TrackNo = "";
createbook.createbook.LSDate = DateTime.Now;
createbook.createbook.MFDate = DateTime.Now;

db.CB.Add(createbook.createbook);
db.SaveChanges();

var bookingid = db.CB.Where(a => a.ShipmentNo ==


createbook.createbook.ShipmentNo).Select(a => a.Id).FirstOrDefault();
string itemsave = SaveItems(createbook.bookingitem, bookingid);
string boxsave = SaveBoxItems(createbook.boxdetails, bookingid);
if(itemsave == "Success" && boxsave == "Success")
{
db.SaveChanges();
return Json("Booking has been Saved Successfully!",
JsonRequestBehavior.AllowGet);
}
else
{
return Json("Booking not Saved! Please try again!",
JsonRequestBehavior.AllowGet);
}
}

public string SaveShipperAddress()


{
return "Success";
}

public string SaveDeliveryAddress()


{
return "Success";
}

public string SaveItems(List<BookingItem> booking, int bookingid)


{
foreach (var item in booking)
{
BookingItem b = new BookingItem();
b.Description = item.Description;
b.Quantity = item.Quantity;
b.UnitValue = item.UnitValue;
b.Value = item.Value;
b.Id = bookingid;

db.bookingitem.Add(b);
}

return "Success";
}

public string SaveBoxItems(List<BoxDetails> booking, int bookingid)


{
foreach (var item in booking)
{
BoxDetails b = new BoxDetails();
b.Description = item.Description;
b.Weight = item.Weight;
b.Length = item.Breadth;
b.Height = item.Height;
b.Breadth = item.Breadth;
b.VolWt = item.VolWt;
b.Id = bookingid;

db.boxdetails.Add(b);
}

return "Success";
}
public ActionResult Createbook_Show()
{
var data1 = db.CB.ToList();
return View(data1);
}

public ActionResult Search_Daily_Booking(string fromdate = "", string


todate="")
{
DateTime frmdate = DateTime.Now.Date;
DateTime tdate = DateTime.Now.Date;
if(fromdate != "" && todate != "")
{
frmdate = Convert.ToDateTime(fromdate);
tdate = Convert.ToDateTime(todate);
}
ViewBag.VC = new SelectList(db.CF.ToList(), "Franchise_Name",
"Franchise_Name");
ViewBag.Sp = db.ServiceProvider.ToList();
ViewBag.ACS = db.Courier.ToList();
var data = db.CB.Where(a => a.EntryDate >= frmdate && a.EntryDate <=
tdate).ToList();
return View(data);
}

public ActionResult getSearch(string fromdate, string todate)


{
DateTime frmdate = Convert.ToDateTime(fromdate);
DateTime tdate = Convert.ToDateTime(todate);
var data = db.CB.Where(a => a.EntryDate >= frmdate && a.EntryDate <=
tdate).ToList();
for(int i=0; i<data.Count; i++)
{
if(data[i].C_Id==0)
{
data[i].Carrier = "";
}
else
{
int carierid = data[i].C_Id;
var carierdata = db.Courier.Where(a => a.C_Id ==
carierid).ToList();
data[i].Carrier = carierdata[0].Service_Name;
}

if (data[i].SP_Id == 0)
{
data[i].Service = "";
}
else
{
int spid = data[i].SP_Id;
var carierdata = db.ServiceProvider.Where(a => a.SP_Id ==
spid).ToList();
data[i].Service = carierdata[0].Company_Name;
}
}
//var data1 = ShipperData(data);
var json = JsonConvert.SerializeObject(data);
return Json(json, JsonRequestBehavior.AllowGet);
}

public ActionResult getCourierData(int C_id, int SP_Id, int CB_Id)


{
//int aid = Convert.ToInt32(id);
var data = db.CB.Where(a=>a.Id== CB_Id).ToList();
if (data[0].C_Id == 0)
{
data[0].Carrier = "";
}
else
{
int carierid = data[0].C_Id;
var carierdata = db.Courier.Where(a => a.C_Id ==
carierid).ToList();
data[0].Carrier = carierdata[0].Service_Name;
}

if (data[0].SP_Id == 0)
{
data[0].Service = "";
}
else
{
int spid = data[0].SP_Id;
var carierdata = db.ServiceProvider.Where(a => a.SP_Id ==
spid).ToList();
data[0].Service = carierdata[0].Company_Name;
}

//var data1 = ShipperData(data);


var json = JsonConvert.SerializeObject(data);
return Json(json, JsonRequestBehavior.AllowGet);
}

public List<DTOSearch> ShipperData(List<Createbook> search)


{
List<DTOSearch> searchdata = new List<DTOSearch>();
foreach(var item in search)
{
DTOSearch s = new DTOSearch();
s.createbook = item;
s.deliverydata = db.LA.Where(a => a.Id ==
item.DeliverAddressBook_Id).FirstOrDefault();
s.shipperdata = db.LA.Where(a => a.Id ==
item.ShipperAddressBook_Id).FirstOrDefault();

searchdata.Add(s);
}

return searchdata;
}

public DTOBookingList getData(string id)


{
string userID = User.Identity.GetUserId();
var branchid = db.Users.Where(a => a.Id == userID).Select(a =>
a.Branch_Id).FirstOrDefault();
ViewBag.Acc = db.CF.Where(a => a.Id == branchid).Select(a =>
a.Id).FirstOrDefault();
ViewBag.Name = db.CF.Where(a => a.Id == branchid).Select(a =>
a.Franchise_Name).FirstOrDefault();
DTOBookingList bookingdata = new DTOBookingList();
double shipno = Convert.ToDouble(id);
var bokingid = db.CB.Where(a => a.ShipmentNo == shipno).Select(a =>
a.Id).FirstOrDefault();
var data = db.CB.Include(a=>a.User).Where(a => a.Id ==
bokingid).FirstOrDefault();
bookingdata.createbook = data;
bookingdata.boxdetails = db.boxdetails.Where(a => a.Id ==
bokingid).ToList();
bookingdata.bookingitem = db.bookingitem.Where(a => a.Id ==
bokingid).ToList();
return bookingdata;
//string userID = User.Identity.GetUserId();
//var branchid = db.Users.Where(a => a.Id ==
userID).Select(a=>a.Branch_Id).FirstOrDefault();
//ViewBag.Acc = db.CF.Where(a=>a.Id ==
branchid).Select(a=>a.Id).FirstOrDefault();
//ViewBag.Name = db.CF.Where(a => a.Id == branchid).Select(a =>
a.Franchise_Name).FirstOrDefault();
//DTOBookingList bookingdata = new DTOBookingList();
//var data = db.CB.Where(a => a.Id == id).FirstOrDefault();
//bookingdata.createbook = data;
//bookingdata.shipperdata = db.LA.Where(a => a.Id ==
data.ShipperAddressBook_Id).FirstOrDefault();
//bookingdata.deliverydata = db.LA.Where(a => a.Id ==
data.DeliverAddressBook_Id).FirstOrDefault();
//bookingdata.boxdetails = db.boxdetails.Where(a => a.Id ==
id).ToList();
//bookingdata.bookingitem = db.bookingitem.Where(a => a.Id ==
id).ToList();
//return bookingdata;
}

public ActionResult BookingView(string id)


{
DTOBookingList bookingdata = getData(id);
return View(bookingdata);
}

public ActionResult showbooking(int id)


{
//ViewBag.VZ = new SelectList(db.CF.ToList(), "Franchise_Name",
"Franchise_Name");

var data = db.CB.ToList();


return View(data);
}

public ActionResult getFranchise(int id)


{
//var data = db.loadsheet.Where(a => a.Branch_Id == id).ToList();
var data = db.menufest.Where(a => a.Branch_Id == id).ToList();
var json = JsonConvert.SerializeObject(data);
return Json(json, JsonRequestBehavior.AllowGet);

public ActionResult Checked(List<Createbook> list)


{
foreach (var item in list)
{
//var data = db.CB.Where(a => a.Id == item.Id).FirstOrDefault();
//string id = User.Identity.GetUserId();
//LoadSheet l = new LoadSheet();
//l.Branch_Id = db.Users.Where(a => a.Id == id).Select(a =>
a.Branch_Id).FirstOrDefault();
//l.LS_ID = data.Id;

//db.loadsheet.Add(l);
//db.SaveChanges();

}
return RedirectToAction("Index");
}

public ActionResult Awb(string id)


{
DTOBookingList bookingdata = getData(id);
return View(bookingdata);
}

public ActionResult Invoice(string id)


{
DTOBookingList bookingdata = getData(id);
return View(bookingdata);
}

public ActionResult Client_Requests()


{
ViewBag.VC = new SelectList(db.CF.ToList(), "Franchise_Name",
"Franchise_Name");
return View();
}

[HttpPost]
public ActionResult Client_Requests(Client_Request CR)

{
return View();
}

public ActionResult Manual_Entries()

{
ViewBag.VB = new SelectList(db.CAN.ToList(), "Username", "Username");
return View();
}

[HttpPost]
public ActionResult Manual_Entries(Manual_Entries ME)
{
var userID = User.Identity.GetUserId();
var branchid = db.Users.Where(c => c.Id == userID).Select(c =>
c.Branch_Id).FirstOrDefault();

ME.Branch_Id = branchid;
db.manualentries.Add(ME);
db.SaveChanges();

{
var Data_1 = db.manualentries.Add(ME);
db.SaveChanges();

return RedirectToAction("Createbook");
}
}
////////////////

public ActionResult SaveToListAddressChecked(List<Createbook> list)


{
foreach (var item in list)
{
var data = db.CB.Where(a => a.Id == item.Id).FirstOrDefault();
string id = User.Identity.GetUserId();
List_Address l = new List_Address();
l.Branch_Id = db.Users.Where(a => a.Id == id).Select(a =>
a.Branch_Id).FirstOrDefault();

db.LA.Add(l);
db.SaveChanges();

}
return RedirectToAction("Index");
}

public ActionResult SaveCarrierDetails(int C_ID, int SP_ID, int CB_ID,


string trackNo, string trackInfo)
{
string strcon =
ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection con = new SqlConnection(strcon);
con.Open();

string query = string.Format("Update Createbooks SET C_Id=@C_ID,


SP_Id=@SP_ID, TrackNo=@TrackNo, TrackInfo=@TrackInfo Where Id=@CB_ID");

SqlCommand com = new SqlCommand(query, con);


com.Parameters.AddWithValue("@C_ID", C_ID);
com.Parameters.AddWithValue("@SP_ID", SP_ID);
com.Parameters.AddWithValue("@TrackNo", trackNo);
com.Parameters.AddWithValue("@TrackInfo", trackInfo);
com.Parameters.AddWithValue("@CB_ID", CB_ID);
var RowEfected = com.ExecuteNonQuery();
con.Close();

if (RowEfected>0)
{
return Json("Booking has been Saved Successfully!",
JsonRequestBehavior.AllowGet);
}
else
{
return Json("Booking not Saved! Please try again!",
JsonRequestBehavior.AllowGet);
}
}

You might also like