public ActionResult Filter(CLayer.OfflineBooking model) { string date1 = Request["FromDate"]; string date2 = Request["ToDate"]; string SearchString = Request["SearchString"]; DateTime FromDate = Convert.ToDateTime(date1); DateTime ToDate = Convert.ToDateTime(date2); string FromDates = FromDate.ToString("MMMM dd, yyyy"); string FromDatesonlyDate = DateTime.Parse(FromDates).ToShortDateString(); string ToDates = ToDate.ToString("MMMM dd, yyyy"); string ToDatesonlyDate = DateTime.Parse(ToDates).ToShortDateString(); ViewBag.FromDate = FromDatesonlyDate; ViewBag.ToDate = ToDatesonlyDate; ViewBag.SearchString = SearchString; List <CLayer.OfflineBooking> data = BLayer.OfflineBooking.CustomerInvoiceReport(SearchString, LIMIT, FromDate, ToDate); return(View("Index", data)); }
public ActionResult MailContent(long obId) { CLayer.Invoice data = BLayer.Invoice.GetInvoiceByOfflineBooking(obId); if (data == null) { data = new CLayer.Invoice(); data.OfflineBookingId = obId; /// data.InvoiceDate = DateTime.Today; data.DueDate = DateTime.Today.AddDays(10); data.InvoiceType = (int)CLayer.ObjectStatus.InvoiceType.Invoice; BLayer.Invoice.Save(data); //data = BLayer.Invoice.GetInvoiceByOfflineBooking(offId); //data = await MessageFromHtml(offId); } Areas.Admin.Models.Invoice inv = new Areas.Admin.Models.Invoice(); inv.InvoiceId = data.InvoiceId; inv.OfflineBookingId = data.OfflineBookingId; inv.IsMailed = (data.MailedDate <= DateTime.Today); inv.HtmlSection1 = data.HtmlSection1; inv.HtmlSection2 = data.HtmlSection2; inv.HtmlSection3 = data.HtmlSection3; CLayer.OfflineBooking dd = BLayer.OfflineBooking.GetAllCustomerDetails(obId); if (dd != null) { inv.CustomerName = dd.CustomerName; } return(View("Mail", inv)); }
public ActionResult Filter(CLayer.OfflineBooking model) { string date1 = Request["FromDate"]; string date2 = Request["ToDate"]; string SearchString = Request["SearchString"]; DateTime FromDate = Convert.ToDateTime(date1); DateTime ToDate = Convert.ToDateTime(date2); string FromDates = FromDate.ToString("MMMM dd, yyyy"); string FromDatesonlyDate = DateTime.Parse(FromDates).ToShortDateString(); string ToDates = ToDate.ToString("MMMM dd, yyyy"); string ToDatesonlyDate = DateTime.Parse(ToDates).ToShortDateString(); ViewBag.FromDate = FromDatesonlyDate; ViewBag.ToDate = ToDatesonlyDate; ViewBag.SearchString = SearchString; string email = User.Identity.GetUserName(); long LoginUserid = BLayer.User.GetUserId(email); DataTable data = BLayer.OfflineBooking.GSTInvoiceReport(SearchString, LIMIT, FromDate, ToDate, LoginUserid); return(View("Index", data)); }
//without invoice date and number private async Task <CLayer.Invoice> MakeNewInvoice(long offlineBookingId) { CLayer.Invoice data = new CLayer.Invoice(); data.OfflineBookingId = offlineBookingId; // data.InvoiceDate = DateTime.Today; CLayer.OfflineBooking ob = BLayer.OfflineBooking.GetAllDetailsById(offlineBookingId); string num = BLayer.Settings.GetValue(CLayer.Settings.INVOICE_DUE_DAYS); int i = 0; int.TryParse(num, out i); //karthikms added code and comment //CLayer.InvoiceNumberData inv = BLayer.NumberGenerator.GetInvoiceNumber(); data.DueDate = ob.CheckOut.AddDays(i); data.Status = (int)CLayer.ObjectStatus.InvoiceStatus.Saved; data.InvoiceType = (int)CLayer.ObjectStatus.InvoiceType.Invoice; //karthikms added code and comment //data.InvoiceNumber = inv.InvoiceNumber.ToString(); data.InvoiceId = BLayer.Invoice.Save(data); data = BLayer.Invoice.GetInvoiceByOfflineBooking(offlineBookingId); data = await MessageFromHtml(offlineBookingId); return(data); }
public void SaveGST(Models.OfflineBookingModel model, int CustID) { long custgststeid = 0; try { CLayer.OfflineBooking data = new CLayer.OfflineBooking(); data.SubCustomerAddress = model.SubCustomerAddress; data.SubCustomerCity = model.SubCustomerCity; data.SubCustomerCityname = model.SubCustomerCityname; data.SubCustomerpinCode = model.SubCustomerpinCode; data.SubCustomerGstRegNo = model.GSTRegistrationNo; data.SubCustomerGstStateId = Convert.ToInt32(model.StateOfRegistration); data.SubCustomerid = CustID; data.CustomerTableType = 2; data.OffGSTId = model.OffGSTId; BLayer.OfflineBooking.SaveGSTIn(data); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } // }
public List <CLayer.OfflineBooking> SearchcustomerListlist(string name) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pName", DataPlug.DataType._Varchar, name)); DataTable dt = Connection.GetTable("b2b_SearchcustomerListforofflinebook", param); List <CLayer.OfflineBooking> result = new List <CLayer.OfflineBooking>(); CLayer.OfflineBooking temp; foreach (DataRow dr in dt.Rows) { temp = new CLayer.OfflineBooking(); temp.CustomerId = Connection.ToLong(dr["b2bid"]); temp.CustomerName = Connection.ToString(dr["customername"]); temp.CustomerEmail = Connection.ToString(dr["Email"]); temp.CustomerAddress = Connection.ToString(dr["Address"]); temp.CustomerMobile = Connection.ToString(dr["Mobile"]); temp.CustomerCountry = Connection.ToInteger(dr["countryname"]); temp.CustomerState = Connection.ToInteger(dr["statename"]); temp.CustomerCity = Connection.ToInteger(dr["city"]); temp.CustomerCityname = Connection.ToString(dr["cityname"]); temp.UserType = Connection.ToLong(dr["UserType"]); //temp.CustomerType = Connection.ToInteger(dr["UserType"]); temp.CategoryType = Connection.ToString(dr["UserTableCat"]); temp.ZipCode = Connection.ToString(dr["ZipCode"]); temp.NoInvoiceMail = Connection.ToBoolean(dr["NoInvoiceMail"]); result.Add(temp); } return(result); }
public List <CLayer.OfflineBooking> SupplierInvoiceSavedBookingList(long PropID, long ID, string BookingRefIDs, string PropertyEmailAddresss, string PropertyType) { List <CLayer.OfflineBooking> result = new List <CLayer.OfflineBooking>(); List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); DataTable dt = new DataTable(); if (ID > 0) { param.Add(Connection.GetParameter("pProp_ID", DataPlug.DataType._BigInt, PropID)); param.Add(Connection.GetParameter("pSupplierInvoice_ID", DataPlug.DataType._BigInt, ID)); param.Add(Connection.GetParameter("pPropertyEmailAddresss", DataPlug.DataType._Text, PropertyEmailAddresss)); param.Add(Connection.GetParameter("pPropertyType", DataPlug.DataType._Text, PropertyType)); dt = Connection.GetTable("SupplierInvoicePropertySavedBooking_List", param); } else { param.Add(Connection.GetParameter("pProp_ID", DataPlug.DataType._BigInt, PropID)); param.Add(Connection.GetParameter("pBookingIDs", DataPlug.DataType._Varchar, BookingRefIDs)); param.Add(Connection.GetParameter("pPropertyEmailAddresss", DataPlug.DataType._Text, PropertyEmailAddresss)); param.Add(Connection.GetParameter("pPropertyType", DataPlug.DataType._Text, PropertyType)); dt = Connection.GetTable("SupplierInvoicePropertyBooking_List_ForSaving", param); } //param.Add(Connection.GetParameter("pProp_ID", DataPlug.DataType._BigInt, PropID)); //param.Add(Connection.GetParameter("pSupplierInvoice_ID", DataPlug.DataType._BigInt, ID)); //DataTable dt = Connection.GetTable("SupplierInvoicePropertySavedBooking_List", param); CLayer.OfflineBooking res = null; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { res = new CLayer.OfflineBooking(); res.PropertyId = Connection.ToLong(dr["Prop_ID"]); res.OfflineBookingId = Connection.ToLong(dr["Primary_ID"]); res.ConfirmationNumber = Connection.ToString(dr["OrderNo"]); //res.Amount = Connection.ToLong(dr["Amount"]); res.CheckIn_date = Connection.ToDate(dr["CheckIn_date"]); res.CheckOut_date = Connection.ToDate(dr["CheckOut_date"]); //res.BookingDate = Connection.ToDate(dr["BookingDate"]); res.PropertyName = Connection.ToString(dr["PropertyName"]); res.PropertyContactNo = Connection.ToString(dr["PropertyContactNo"]); res.PropertyEmail = Connection.ToString(dr["PropertyEmail"]); res.SupplierName = Connection.ToString(dr["SupplierName"]); res.SupplierMobile = Connection.ToString(dr["SupplierMobile"]); res.SupplierEmail = Connection.ToString(dr["SupplierEmail"]); res.TotalBuyPrice = Connection.ToDecimal(dr["TotalBuyPrice"]); res.City = Connection.ToString(dr["City"]); res.isOpen = Connection.ToBoolean(dr["open"]); res.SupInvoiceValueBRef = Connection.ToDecimal(dr["SupInvoiceValueBRef"]); res.PaidValueBRef = Connection.ToDecimal(dr["PaidValueBRef"]); res.AmtTobePaid = Connection.ToDecimal(dr["AmtTobePaid"]); result.Add(res); } } return(result); }
public StayBazar.Areas.Admin.Models.OfflineBookingModel LoadValoff(long OfflineBookingId) { StayBazar.Areas.Admin.Models.OfflineBookingModel data = new StayBazar.Areas.Admin.Models.OfflineBookingModel(); CLayer.OfflineBooking Offlinedata = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookingId); data.OfflineBookingId = OfflineBookingId; data.CustomerId = Offlinedata.CustomerId; data.PropertyId = Offlinedata.PropertyId; data.SupplierId = Offlinedata.SupplierId; return(data); }
public ActionResult ExcelReport(CLayer.OfflineBooking model) { Models.OfflineBookingModel data = new Models.OfflineBookingModel(); DataTable Reportlist = new DataTable(); try { string date1 = Request["FromDate"]; string date2 = Request["ToDate"]; string SearchString = Request["SearchString"]; DateTime FromDate = Convert.ToDateTime(date1); DateTime ToDate = Convert.ToDateTime(date2); string FromDates = FromDate.ToString("MMMM dd, yyyy"); string FromDatesonlyDate = DateTime.Parse(FromDates).ToShortDateString(); string ToDates = ToDate.ToString("MMMM dd, yyyy"); string ToDatesonlyDate = DateTime.Parse(ToDates).ToShortDateString(); string email = User.Identity.GetUserName(); long LoginUserid = BLayer.User.GetUserId(email); Reportlist = BLayer.OfflineBooking.GSTInvoiceReport(SearchString, LIMIT, FromDate, ToDate, LoginUserid); ViewBag.Filter = new Models.GrossMarrginReportModel(); // data.OfflineBookingList = Reportlist; Models.OfflineBookingModel forPager = new Models.OfflineBookingModel() { SearchString = data.SearchString, SearchValue = data.SearchValue, FromDate = data.FromDate, ToDate = data.ToDate, TotalRows = 0, Limit = 2000, currentPage = data.currentPage }; //if (Reportlist.Count > 0) //{ // forPager.TotalRows = Reportlist[0].TotalRows; //} ViewBag.Filter = forPager; } catch (Exception ex) { Common.LogHandler.HandleError(ex); } Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("content-disposition", "attachment; filename=report.xls"); Response.Charset = ""; return(View("~/Areas/Admin/Views/GSTInvoiceReport/Excel.cshtml", Reportlist)); }
public ActionResult CustomerBookingList(long id) { LogHandler.AddLog("CustomerBookingList:-" + id.ToString()); Session["CustomerId"] = id; string Cus_Email = ""; Models.CustomerDetailModel details = null; //CLayer.User data = BLayer.User.Get(id); CLayer.OfflineBooking data = BLayer.OfflineBooking.GetOfflineBookingCustomerDetailsByID(id); LogHandler.AddLog("CustomerBookingList data read successfull:-" + DateTime.Now.ToString()); if (data != null) { LogHandler.AddLog("If CustomerBookingList data is not null:-" + DateTime.Now.ToString()); List <CLayer.OfflineBooking> users = BLayer.OfflineBooking.GetAllForPaymentList_Details(data.CustomerName); LogHandler.AddLog("users count:-" + DateTime.Now.ToString()); //List<CLayer.OfflineBooking> users = BLayer.OfflineBooking.GetAllForPaymentList_Details(id); // Cus_Email = users.First().CustomerEmail; foreach (var item in users) { if (Cus_Email == "") { if (item.PaymentLinkStatus == "checked" && item.CustomerEmail != "" && Cus_Email == "") { LogHandler.AddLog("PaymentLinkStatus is checked:-" + DateTime.Now.ToString()); Cus_Email = users.First().CustomerEmail; } } else { break; } } if (Cus_Email == "" && users.Count > 0) { Cus_Email = users.First().CustomerEmail; //Advance = users.First().AdvanceReceived; } Session["CustomerEmail"] = Cus_Email; details = new Models.CustomerDetailModel() { UserId = id, FirstName = data.FirstName, LastName = data.LastName, Name = data.CustomerName, Email = Cus_Email, AdvanceReceived = 0, OfflineBookingList = users, }; } LogHandler.AddLog("CustomerBookingList returns successfull:-" + DateTime.Now.ToString()); return(View(details)); }
public ActionResult ExcelReport(CLayer.OfflineBooking model, bool IsExcelDownload = true) { Models.OfflineBookingModel data = new Models.OfflineBookingModel(); DataTable Reportlist = null; try { string date1 = Request["FromDate"]; string date2 = Request["ToDate"]; string SearchString = Request["SearchString"]; DateTime FromDate = Convert.ToDateTime(date1); DateTime ToDate = Convert.ToDateTime(date2); string FromDates = FromDate.ToString("MMMM dd, yyyy"); string FromDatesonlyDate = DateTime.Parse(FromDates).ToShortDateString(); string ToDates = ToDate.ToString("MMMM dd, yyyy"); string ToDatesonlyDate = DateTime.Parse(ToDates).ToShortDateString(); Reportlist = BLayer.OfflineBooking.BankUploadReport(SearchString, LIMIT, FromDate, ToDate, true); ViewBag.Filter = new Models.GrossMarrginReportModel(); data.OfflineBookingTable = Reportlist; Models.OfflineBookingModel forPager = new Models.OfflineBookingModel() { SearchString = data.SearchString, SearchValue = data.SearchValue, FromDate = data.FromDate, ToDate = data.ToDate, TotalRows = 0, Limit = 2000, currentPage = data.currentPage }; if (Reportlist.Rows.Count > 0) { forPager.TotalRows = Convert.ToInt64(Reportlist.Rows.Count); } ViewBag.Filter = forPager; } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(new FileStreamResult(DataTableToExcel.GetExcelStream(Reportlist, "Report", false, null, null, null), DataTableToExcel.CONTENT_TYPE_XLSX) { FileDownloadName = "BankPaymentReport.xlsx" }); }
public void SaveGST(CLayer.OfflineBooking data) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pOffGSTId", DataPlug.DataType._Int, data.OffGSTId)); param.Add(Connection.GetParameter("pSubCustomerGstStateId", DataPlug.DataType._Int, data.SubCustomerGstStateId)); param.Add(Connection.GetParameter("pCustomerId", DataPlug.DataType._Int, data.SubCustomerid)); param.Add(Connection.GetParameter("pCustomerGstRegNo", DataPlug.DataType._Varchar, data.SubCustomerGstRegNo)); param.Add(Connection.GetParameter("pCustomerTableType", DataPlug.DataType._Int, data.CustomerTableType)); param.Add(Connection.GetParameter("pSubCustomerAddress", DataPlug.DataType._Varchar, data.SubCustomerAddress)); param.Add(Connection.GetParameter("pSubCustomerCity", DataPlug.DataType._BigInt, data.SubCustomerCity)); param.Add(Connection.GetParameter("pSubCustomerCityname", DataPlug.DataType._Varchar, data.SubCustomerCityname)); param.Add(Connection.GetParameter("pSubCustomerpinCode", DataPlug.DataType._Varchar, data.SubCustomerpinCode)); Connection.ExecuteQueryScalar("OfflineBooking_Customer_SaveGST", param); }
public List <CLayer.OfflineBooking> getSupplierInvoicePendings_Report(long Start, long Limit, DateTime?fromDT, DateTime?toDT) { fromDT = fromDT == DateTime.MinValue ? null : fromDT; toDT = toDT == DateTime.MinValue ? null : toDT; List <CLayer.OfflineBooking> result = new List <CLayer.OfflineBooking>(); List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pfromDT", DataPlug.DataType._Date, fromDT)); param.Add(Connection.GetParameter("ptoDT", DataPlug.DataType._Date, toDT)); param.Add(Connection.GetParameter("pStart", DataPlug.DataType._BigInt, Start)); param.Add(Connection.GetParameter("pLimit", DataPlug.DataType._BigInt, Limit)); DataSet ds = Connection.GetDataSet("getGetSupplierInvoicePending_Report", param); CLayer.OfflineBooking res = null; if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[1].Rows) { res = new CLayer.OfflineBooking(); res.PropertyId = Connection.ToLong(dr["Prop_ID"]); res.OfflineBookingId = Connection.ToLong(dr["Primary_ID"]); //res.UserId = Connection.ToString(dr["UserId"]); res.City = Connection.ToString(dr["City"]); res.CustomerName = Connection.ToString(dr["CustomerFirstname"]) + " " + Connection.ToString(dr["CustomerLastName"]); res.GuestName = Connection.ToString(dr["Guestname"]); res.NoOfRooms = Connection.ToLong(dr["NoOfRooms"]); res.ConfirmationNumber = Connection.ToString(dr["OrderNo"]); res.SupplierName = Connection.ToString(dr["SupplierName"]); res.CheckIn = Connection.ToDate(dr["CheckIn_Date"]); res.CheckOut = Connection.ToDate(dr["CheckOut_Date"]); res.Accommodationname = Connection.ToString(dr["AccommodatoinTypeName"]); res.BookingDate = Connection.ToString(dr["BookingDate"]); res.TotalBuyPrice = Connection.ToDecimal(dr["TotalBuyPrice"]); res.TotalSalePrice = Connection.ToDecimal(dr["TotalSalePrice"]); res.PropertyName = Connection.ToString(dr["PropertyName"]); res.SupplierEmail = Connection.ToString(dr["SupplierEmail"]); res.SupplierMobile = Connection.ToString(dr["SupplierMobile"]); res.PropertyContactNo = Connection.ToString(dr["PropertyContactNo"]); res.PropertyEmail = Connection.ToString(dr["PropertyEmail"]); res.TotalRows = Connection.ToLong(ds.Tables[0].Rows[0]["NumberOfRows"]); result.Add(res); } } return(result); }
public async Task <bool> SmsService() { bool result = false; OfflineBooking obj = new BLayer.OfflineBooking(); List <CLayer.OfflineBooking> lstOfflineBooking = new List <CLayer.OfflineBooking>(); DataTable dtdates = obj.GetCheckInDates(0); if (dtdates.Rows.Count >= 0) { foreach (DataRow row in dtdates.Rows) { if (row["phonenumber"].ToString() != null && row["phonenumber"].ToString() != "") { var propertyname = System.Web.HttpContext.Current.Server.UrlEncode(row["PropertyName"].ToString()); var propertyCityname = System.Web.HttpContext.Current.Server.UrlEncode(row["PropertyCityname"].ToString()); var checkindate = System.Web.HttpContext.Current.Server.UrlEncode(row["checkindate"].ToString()); var OfflinebookingId = row["BookingId"].ToString(); string BookingCNo = ""; if (Convert.ToInt32(OfflinebookingId) > 0) { CLayer.OfflineBooking Offlinedata = BLayer.OfflineBooking.GetAllDetailsById(Convert.ToInt32(OfflinebookingId)); if (Offlinedata != null) { BookingCNo = Offlinedata.ConfirmationNumber; } } try { string message = "Dear Guest,Hope you are ready for check-in at " + propertyname + " at " + propertyCityname + " on " + checkindate + " as per BookingId " + BookingCNo + " .Wish you a pleasant stay!"; result = await StayBazar.Common.SMSGateway.Send(message, row["phonenumber"].ToString()); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } if (row["Guestemail"].ToString() != null && row["Guestemail"].ToString() != "") { await OfflineBookingConfirmGST(Convert.ToInt32(row["BookingId"]), Convert.ToInt32(row["BookingDetailsId"]), row["Guestemail"].ToString()); } } } return(result); }
public ActionResult GetCorporategstDetailsById(long B2bGSTId) { Models.OfflineBookingModel model = new Models.OfflineBookingModel(); try { CLayer.OfflineBooking GstDetails = BLayer.OfflineBooking.GetOfflinegstDetailsById(B2bGSTId); model.HiddenSubCustomerCity = GstDetails.SubCustomerCity; model.HiddenSubCustomerCityname = GstDetails.SubCustomerCityname; model.HiddenSubCustomerAddress = GstDetails.SubCustomerAddress; model.HiddenSubCustomerpinCode = GstDetails.SubCustomerpinCode; model.HiddenSubCustomerGstRegNo = GstDetails.SubCustomerGstRegNo; } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(View("~/Areas/Admin/Views/OfflineBookingGST/HiddenGstAddress.cshtml", model)); }
public List <CLayer.OfflineBooking> Searchcustompropertylist(string name) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pName", DataPlug.DataType._Varchar, name)); DataTable dt = Connection.GetTable("b2b_SearchCustompropertylist", param); List <CLayer.OfflineBooking> result = new List <CLayer.OfflineBooking>(); CLayer.OfflineBooking temp; foreach (DataRow dr in dt.Rows) { temp = new CLayer.OfflineBooking(); temp.CustomPropertyId = Connection.ToLong(dr["CustomPropertyId"]); temp.PropertyName = Connection.ToString(dr["PropertyName"]); temp.PropertyEmail = Connection.ToString(dr["PropertyEmail"]); temp.PropertyAddress = Connection.ToString(dr["PropertyAddress"]); temp.PropertyContactNo = Connection.ToString(dr["PropertyContactNo"]); temp.PropertyCountry = Connection.ToInteger(dr["PropertyCountry"]); temp.PropertyState = Connection.ToInteger(dr["PropertyState"]); temp.PropertyCity = Connection.ToInteger(dr["PropertyCity"]); temp.PropertyCityname = Connection.ToString(dr["Pcityname"]); temp.PropertyPinCode = Connection.ToString(dr["PropertyPinCode"]); temp.SupplierPinCode = Connection.ToString(dr["SupplierPinCode"]); temp.SupplierName = Connection.ToString(dr["SupplierName"]); temp.SupplierEmail = Connection.ToString(dr["SupplierEmail"]); temp.SupplierAddress = Connection.ToString(dr["SupplierAddress"]); temp.SupplierMobile = Connection.ToString(dr["SupplierMobile"]); temp.SupplierCountry = Connection.ToInteger(dr["SupplierCountry"]); temp.SupplierState = Connection.ToInteger(dr["SupplierState"]); temp.SupplierCity = Connection.ToInteger(dr["SupplierCity"]); temp.SupplierCityname = Connection.ToString(dr["Scityname"]); temp.GSTRegistrationNo = Connection.ToString(dr["GSTRegistrationNo"]); temp.PAN = Connection.ToString(dr["PANNo"]); result.Add(temp); } return(result); }
public ActionResult EditCustomer(long CustomerId) { Models.OfflineBookingModel data = new Models.OfflineBookingModel(); CLayer.OfflineBooking model = BLayer.OfflineBooking.GetOfflineBookingCustomerDetailsByID(CustomerId); data.CustomerId = model.CustomerId; data.CustomerName1 = model.CustomerName; data.CustomerEmail1 = model.CustomerEmail; data.CustomerMobile1 = model.CustomerMobile; data.CustomerCountry1 = model.CustomerCountry; data.CustomerState1 = model.CustomerState; data.CustomerCity1 = model.CustomerCity; data.CustomerCityname = model.CustomerCityname; data.BillingCountryId = model.BillingCountryId; data.CustomerAddress1 = model.CustomerAddress; data.CustomerType = model.CustomerType; data.BillingAddress = model.BillingAddress; data.BillingState = model.BillingState; data.BillingCity = model.BillingCity; data.PinCode = model.PinCode; data.BillingMobile = model.BillingMobile; data.ContactPerson = model.ContactPerson; data.OfficeNO = model.OfficeNO; //data.GuestName1 = model.GuestName1; //data.GuestEmail1 = model.GuestEmail1; data.BillingCityname = model.BillingCityname; data.CustomerpinCode = model.CustomerpinCode; data.NoInvoiceMail = model.NoInvoiceMail; data.CustomerPaymentMode = model.CustomerPaymentMode; data.CreditDays = model.CreditDays; //data.LoadCustomerGstStatesExceptIncludedByCustomerId(model.CustomerId); // data.LoadPlaces(); //List<CLayer.OfflineBooking> Bookings = BLayer.OfflineBooking.GetAllBookingsByCusPropId(CustomPropertyId, 0, 25); //data.BookedpropertyList = Bookings; return(View("EditCustomer", data)); }
public ActionResult saveSelectedBookingList(string BookingRefIDs, long SupplierInvID, long PropertyId, string PropertyEmailAddresss, string PropertyType, string editedBookingRefIDs) { Models.SuppierInvoiceModel model = new Models.SuppierInvoiceModel(); try { List <CLayer.OfflineBooking> lis = new List <CLayer.OfflineBooking>(); if (SupplierInvID > 0) { foreach (string num in editedBookingRefIDs.Split(',').ToList <string>()) { string dupe_num = num == null ? "" : num; if (dupe_num.Trim() != "") { CLayer.OfflineBooking rs = new CLayer.OfflineBooking(); rs.ConfirmationNumber = num; rs.SupplierInvoiceID = SupplierInvID; rs.isOpen = false; rs.SupInvoiceValueBRef = 0; rs.PaidValueBRef = 0; lis.Add(rs); } } if (lis != null) { if (lis.Count() > 0) { BLayer.SupplierInvoice.saveSupplierInvoiceBooking(lis); } } } model.savedBookingList = BLayer.SupplierInvoice.SupplierInvoiceSavedBookingList(PropertyId, SupplierInvID, BookingRefIDs, PropertyEmailAddresss, PropertyType); } catch (Exception ex) { } return(View("~/Areas/Admin/Views/SupplierInvoiceDetails/_InvPropertySavedBookingList.cshtml", model)); }
public ActionResult CustomerPaymentDetails() { long id = Convert.ToInt64(Session["CustomerId"]); long LoggedInUser = Convert.ToInt64(System.Web.HttpContext.Current.Session["LoggedInUser"]); CLayer.OfflineBooking data = BLayer.OfflineBooking.GetOfflineBookingCustomerDetailsByID(id); List <CLayer.OfflineBooking> users = BLayer.OfflineBooking.GetAllForPaymentList_Details(data.CustomerName); Session["CustomerEmail"] = users.First().CustomerEmail; Models.CustomerPaymentDetailModel details = null; details = new Models.CustomerPaymentDetailModel() { UserId = id, //SalutationId = data.SalutationId, FirstName = data.FirstName, LastName = data.LastName, Name = data.CustomerName, //DateOfBirth = data.DateOfBirth.ToShortDateString(), //Status = data.Status, Email = users.First().CustomerEmail, OfflineBookingList = users, }; return(View(details)); }
public async Task <ActionResult> SaveDetails(Models.Invoice data) { CLayer.Invoice sdata = null; if (data.OfflineBookingId > 0) { sdata = BLayer.Invoice.GetInvoiceByOfflineBooking(data.OfflineBookingId); } if (sdata == null) { sdata = await MakeNewInvoice(data.OfflineBookingId); } sdata.OfflineBookingId = data.OfflineBookingId; if (data.InvoiceId > 0) { sdata.InvoiceId = data.InvoiceId; } //DateTime dt = DateTime.Today; //DateTime.TryParse(data.InvoiceDate, out dt); //sdata.InvoiceDate = dt; sdata.HtmlSection1 = data.HtmlSection1; sdata.HtmlSection2 = data.HtmlSection2; sdata.HtmlSection3 = data.HtmlSection3; if (data.OfflineBookingId > 0) { int OfflineBookingType = BLayer.OfflineBooking.GetBookingType(data.OfflineBookingId); if (OfflineBookingType == (int)CLayer.ObjectStatus.OfflineBookingType.Direct) { sdata.HtmlSection4 = data.HtmlSection4; } else { sdata.HtmlSection4 = ""; } } //Common.Utils. // sdata.InvoiceDate = DateTime.Today; sdata.InvoiceType = (int)CLayer.ObjectStatus.InvoiceType.Invoice; if (data.OPType == 1) // Save button clicked { BLayer.Invoice.Save(sdata); // BLayer.Invoice.Save(sdata); } else if (data.OPType == 2) // Send mail button { int bookingType = BLayer.OfflineBooking.GetBookingType(data.OfflineBookingId); if (bookingType == (int)CLayer.ObjectStatus.OfflineBookingType.Regular) { data.OPType = 1; sdata.MailedDate = DateTime.Today; BLayer.Invoice.Save(sdata); if (sdata != null) { if (sdata.InvoiceId > 0) { BLayer.Invoice.SetMailedDate(sdata.InvoiceId, DateTime.Today); if (data.OfflineBookingId > 0) { // Send mail await SendMailInvoice(data.OfflineBookingId); } } } } } else if (data.OPType == 3) // { sdata = await MessageFromHtml(data.OfflineBookingId); BLayer.Invoice.Save(sdata); } else if (data.OPType == 4) //Approve Invoce details { //bool allowed = false; //if (BLayer.OfflineBooking.GetBookingType(sdata.OfflineBookingId) != (int)CLayer.ObjectStatus.OfflineBookingType.TAC) //{ // allowed = true; //} // if (allowed) // { int taxtype = BLayer.OfflineBooking.GetTaxType(sdata.OfflineBookingId); //Invoice Number if Exists CLayer.Invoice invdt = new CLayer.Invoice(); if (data.InvoiceId > 0) { invdt = BLayer.Invoice.GetInvoice(data.InvoiceId); if (invdt != null) { if (invdt.InvoiceNumber != null && invdt.InvoiceNumber != "") { sdata.InvoiceNumber = invdt.InvoiceNumber; } } } if (sdata.InvoiceNumber == null || sdata.InvoiceNumber == "") { CLayer.InvoiceNumberData inValue; if (taxtype == (int)CLayer.ObjectStatus.OfflineBookingTaxType.GST) { inValue = BLayer.NumberGenerator.GetGSTInvoiceNumber(sdata.OfflineBookingId); } else { inValue = BLayer.NumberGenerator.GetInvoiceNumber(); } if (inValue != null) { sdata.InvoiceNumber = inValue.InvoiceNumber; sdata.InvoiceDate = inValue.InvoiceDate; } } sdata.HtmlSection1 = sdata.HtmlSection1.Replace(INVOICE_NUMBER_LOC, sdata.InvoiceNumber.ToString()); sdata.HtmlSection1 = sdata.HtmlSection1.Replace(INVOICE_DATE_LOC, sdata.InvoiceDate.ToString("dd/MM/yyyy")); if (sdata.HtmlSection4 != "") { sdata.HtmlSection4 = sdata.HtmlSection4.Replace(INVOICE_NUMBER_LOC, sdata.InvoiceNumber.ToString()); sdata.HtmlSection4 = sdata.HtmlSection4.Replace(INVOICE_DATE_LOC, sdata.InvoiceDate.ToString("dd/MM/yyyy")); } sdata.Status = (int)CLayer.ObjectStatus.InvoiceStatus.Submitted; BLayer.Invoice.Save(sdata); if (data.OfflineBookingId > 0) { CLayer.OfflineBooking cus = BLayer.OfflineBooking.GetAllCustomerDetails(data.OfflineBookingId); //if (!BLayer.OfflineBooking.CanSendInvoiceMail(cus.CustomerName, cus.CustomerEmail)) //{ // // Send mail // await SendMailInvoice(data.OfflineBookingId); //} } // }// only if allowed } else if (data.OPType == 5) //reset Invoice details { sdata.HtmlSection1 = ""; sdata.HtmlSection2 = ""; sdata.HtmlSection4 = ""; BLayer.Invoice.Save(sdata); } return(RedirectToAction("Edit", new { obid = sdata.OfflineBookingId })); }
public List <CLayer.OfflineBooking> SupplierInvoiceBookingList(long PropID, long ID, string BookingRefIDs, string PropertyEmailAddresss, string PropertyType, int searchTypeBooking, string searchTextBooking, int Start, int Limit, int TaxType, out int TotalRows_Booking) { List <CLayer.OfflineBooking> result = new List <CLayer.OfflineBooking>(); List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pProp_ID", DataPlug.DataType._BigInt, PropID)); param.Add(Connection.GetParameter("pSupplierInvoice_ID", DataPlug.DataType._BigInt, ID)); param.Add(Connection.GetParameter("psearchTypeBooking", DataPlug.DataType._Int, searchTypeBooking)); param.Add(Connection.GetParameter("psearchTextBooking", DataPlug.DataType._Text, searchTextBooking)); param.Add(Connection.GetParameter("pStart", DataPlug.DataType._Int, Start == 1 ? 0 : Start)); param.Add(Connection.GetParameter("pLimit", DataPlug.DataType._Int, Limit)); param.Add(Connection.GetParameter("pPropertyEmailAddresss", DataPlug.DataType._Text, PropertyEmailAddresss)); param.Add(Connection.GetParameter("pPropertyType", DataPlug.DataType._Text, PropertyType)); DataSet ds = new DataSet(); if (TaxType == (int)CLayer.SupplierInvoice.TaxTypes.ServiceTax) { ds = Connection.GetDataSet("SupplierInvoicePropertyBooking_List", param); } else { ds = Connection.GetDataSet("SupplierInvoicePropertyBooking_ListForGST", param); } DataTable dt_Row = ds.Tables[0]; if (dt_Row.Rows.Count > 0) { TotalRows_Booking = Connection.ToInteger(dt_Row.Rows[0]["NumberOfRows"]); } else { TotalRows_Booking = 0; } DataTable dt = ds.Tables[1]; CLayer.OfflineBooking res = null; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { res = new CLayer.OfflineBooking(); res.PropertyId = Connection.ToLong(dr["Prop_ID"]); res.OfflineBookingId = Connection.ToLong(dr["Primary_ID"]); res.ConfirmationNumber = Connection.ToString(dr["OrderNo"]); //res.Amount = Connection.ToLong(dr["Amount"]); res.CheckIn_date = Connection.ToDate(dr["CheckIn_date"]); res.CheckOut_date = Connection.ToDate(dr["CheckOut_date"]); //res.BookingDate = Connection.ToDate(dr["BookingDate"]); res.PropertyName = Connection.ToString(dr["PropertyName"]); res.PropertyContactNo = Connection.ToString(dr["PropertyContactNo"]); res.PropertyEmail = Connection.ToString(dr["PropertyEmail"]); res.SupplierName = Connection.ToString(dr["SupplierName"]); res.SupplierMobile = Connection.ToString(dr["SupplierMobile"]); res.SupplierEmail = Connection.ToString(dr["SupplierEmail"]); res.TotalBuyPrice = Connection.ToDecimal(dr["TotalBuyPrice"]); res.City = Connection.ToString(dr["City"]); res.AmtTobePaid = Connection.ToDecimal(dr["AmtTobePaid"]); foreach (string st in BookingRefIDs.Split(',').ToList <string>()) { if (st == Connection.ToString(dr["OrderNo"])) { res.isCheckBook = true; } } result.Add(res); } } return(result); }
public async Task <string> SupplierPaymentEmail() { WebClient wc = new WebClient(); try { Models.OfflinePaymentModel data = new Models.OfflinePaymentModel(); List <CLayer.OfflineBooking> dt = BLayer.OfflineBooking.GetAllOfflineDetails(); long OfflineBookingId = 0; MailMessage mm = new MailMessage(); string BccEmailsforcususer = BLayer.Settings.GetValue(CLayer.Settings.SUPPLIERPAYMENTSCHEDULEEMAIL); if (BccEmailsforcususer != "") { mm.To.Clear(); string[] emails = BccEmailsforcususer.Split(','); for (int i = 0; i < emails.Length; ++i) { mm.To.Add(emails[i]); } } mm.From = new MailAddress(ConfigurationManager.AppSettings.Get("CustomerCareMail")); Common.Mailer mlr = new Common.Mailer(); mm.IsBodyHtml = true; foreach (CLayer.OfflineBooking offbook in dt) { CLayer.OfflineBooking offedit = BLayer.OfflineBooking.GetAllDetailsById(offbook.OfflineBookingId); if (offedit.IsSupplierPaymentMailSend) { mm.Subject = "SUPPLIER PAYMENT SCHEDULE EMAIL [Revised]"; } else { mm.Subject = "SUPPLIER PAYMENT SCHEDULE EMAIL"; } if (offbook.SupplierPaymentScheduleList.Count > 0) { int exit = 0; foreach (var schedule in offbook.SupplierPaymentScheduleList) { if (schedule.SupplierPaymentMode == (int)CLayer.OfflineBooking.SupplierPaymentModelist.OnInstalments) { foreach (var date in offbook.SupplierPaymentScheduleList) { if (date.SupplierPaymentModeDate.ToShortDateString() == System.DateTime.Now.ToShortDateString() && exit == 0) { OfflineBookingId = offbook.OfflineBookingId; string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflinebookingSupplierPaymentSchedule") + OfflineBookingId.ToString(); //for normal user mail body string result = await Common.Mailer.MessageFromHtml(link); mm.Body = result; await mlr.SendMailAsyncWithoutFields(mm); //Update supplier payment mail send data BLayer.OfflineBooking.UpdateSupplierPaymentmailsendData(OfflineBookingId); exit = 1; break; } } } if (schedule.SupplierPaymentMode == (int)CLayer.OfflineBooking.SupplierPaymentModelist.Credit) { DateTime dtDate = offbook.CheckOut.AddDays(schedule.SupplierCreditDays); if (dtDate.ToShortDateString() == System.DateTime.Now.ToShortDateString()) { OfflineBookingId = offbook.OfflineBookingId; string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflinebookingSupplierPaymentSchedule") + OfflineBookingId.ToString(); //for normal user mail body string result = await Common.Mailer.MessageFromHtml(link); mm.Body = result; await mlr.SendMailAsyncWithoutFields(mm); //Update supplier payment mail send data BLayer.OfflineBooking.UpdateSupplierPaymentmailsendData(OfflineBookingId); } } if (schedule.SupplierPaymentMode == (int)CLayer.OfflineBooking.SupplierPaymentModelist.FullAmountBeforeCheckin) { if (offbook.CheckIn.ToShortDateString() == System.DateTime.Now.ToShortDateString()) { OfflineBookingId = offbook.OfflineBookingId; string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflinebookingSupplierPaymentSchedule") + OfflineBookingId.ToString(); //for normal user mail body string result = await Common.Mailer.MessageFromHtml(link); mm.Body = result; await mlr.SendMailAsyncWithoutFields(mm); //Update supplier payment mail send data BLayer.OfflineBooking.UpdateSupplierPaymentmailsendData(OfflineBookingId); } } if (schedule.SupplierPaymentMode == (int)CLayer.OfflineBooking.SupplierPaymentModelist.FullAmountBeforeCheckout) { if (offbook.CheckOut.ToShortDateString() == System.DateTime.Now.ToShortDateString()) { OfflineBookingId = offbook.OfflineBookingId; string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflinebookingSupplierPaymentSchedule") + OfflineBookingId.ToString(); //for normal user mail body string result = await Common.Mailer.MessageFromHtml(link); mm.Body = result; await mlr.SendMailAsyncWithoutFields(mm); //Update supplier payment mail send data BLayer.OfflineBooking.UpdateSupplierPaymentmailsendData(OfflineBookingId); } } } } } } catch (Exception ex) { Common.LogHandler.HandleError(ex); return("false"); } return("true"); }
public static void SaveGST(CLayer.OfflineBooking data) { DataLayer.User usr = new DataLayer.User(); usr.SaveGST(data); }
public ActionResult saveSupplierInvoiceDetails(Models.SuppierInvoiceModel model) { try { CLayer.SupplierInvoice data = new CLayer.SupplierInvoice(); data.SupplierInvoiceID = model.SupplierInvoiceID; data.PropertyId = model.PropertyId; data.SupplierId = model.SupplierId; data.InvoiceNumber = model.InvoiceNumber; data.InvoiceDate = model.InvoiceDate == null ? DateTime.Now : DateTime.ParseExact(model.InvoiceDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); data.ServiceTaxRegNumber = model.ServiceTaxRegNumber; data.PAN_Number = model.PAN_Number; data.BaseAmount = model.BaseAmount; data.LuxuryTax = model.LuxuryTax; data.ServiceTax = model.ServiceTax; data.TotalInvoiceValue = model.TotalInvoiceValue; data.EntryDate = model.EntryDate == null ? DateTime.Now : DateTime.ParseExact(model.EntryDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); data.txtTotalAdjustmentResult = model.txtTotalAdjustmentResult; data.PropertyEmailAddresss = model.PropertyEmailAddresss; data.PropertyType = model.PropertyType; data.TaxType = model.TaxType; data.IsSupInvoicedone = model.IsSupInvoicedone; long ID = BLayer.SupplierInvoice.Save(data); data.SupplierInvoiceID = ID; if (ID > 0) { if (model.BookingRefIDsWithValue != null) { if (model.BookingRefIDsWithValue.Length > 0) { List <CLayer.OfflineBooking> lis = new List <CLayer.OfflineBooking>(); foreach (string num in model.BookingRefIDsWithValue.Split(',').ToList <string>()) { string[] numwtvle = num.Split('#'); string BkgNum = numwtvle[0]; bool isChecked = false; string dupe_num = BkgNum == null ? "" : BkgNum; if (dupe_num.Trim() != "") { if (model.checkedBookingRefIDs != null) { foreach (string chkNum in model.checkedBookingRefIDs.Split(',').ToList <string>()) { string checkedNum = chkNum == null ? "" : chkNum; if (checkedNum != "") { if (dupe_num == checkedNum) { isChecked = true; } } } } else { isChecked = false; } CLayer.OfflineBooking rs = new CLayer.OfflineBooking(); rs.ConfirmationNumber = BkgNum; rs.SupplierInvoiceID = ID; rs.isOpen = isChecked; decimal SupInvoiceValueBRef = 0; if (numwtvle[1] == null) { SupInvoiceValueBRef = 0; } else { SupInvoiceValueBRef = Convert.ToDecimal(numwtvle[1]); } decimal PaidValueBRef = 0; if (numwtvle[2] == null) { PaidValueBRef = 0; } else { PaidValueBRef = Convert.ToDecimal(numwtvle[2]); } rs.SupInvoiceValueBRef = SupInvoiceValueBRef; rs.PaidValueBRef = PaidValueBRef; lis.Add(rs); } } if (lis != null) { if (lis.Count() > 0) { BLayer.SupplierInvoice.saveSupplierInvoiceBooking(lis); } } } } } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } if (model.TaxType == (int)CLayer.SupplierInvoice.TaxTypes.ServiceTax) { if (model.isFromList) { return(RedirectToAction("getSupplierInvoiceList")); } else { return(RedirectToAction("Index")); } } else { if (model.isFromList) { return(RedirectToAction("getSupplierInvoiceListForgst")); } else { return(RedirectToAction("GSTIndex")); } } }
public async Task <bool> ResendemailSGST(long OfflineBookingId, long BookingDetailsId, string key) { try { string lck = BLayer.Settings.GetValue(CLayer.Settings.PUBLIC_PAGE_LOCK); if (key != lck) { return(true); } if (OfflineBookingId < 1) { return(false); } CLayer.OfflineBooking Offlinedata = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookingId); CLayer.OfflineBooking OfflinePropertydata = BLayer.OfflineBooking.GetAllpropertyDetails(OfflineBookingId); CLayer.OfflineBooking CustomerDetails = BLayer.OfflineBooking.GetAllCustomerDetails(OfflineBookingId); if (CustomerDetails == null) { return(false); } if (OfflinePropertydata == null) { return(false); } CLayer.StayCategory Staycategorydetails = BLayer.StayCategory.Get(Convert.ToInt32(Offlinedata.StayCategoryid)); CLayer.AccommodationType AccommodationTypedetails = BLayer.AccommodationType.Get(Convert.ToInt32(Offlinedata.Accommodationtypeid)); CLayer.Role.Roles rle = BLayer.User.GetRole(Offlinedata.CustomerId); string message = ""; Common.Mailer ml = new Common.Mailer(); if (OfflineBookingId < 1) { return(false); } try { if (OfflinePropertydata.PropertyEmail != "") { message = await Common.Mailer.MessageFromHtml(System.Configuration.ConfigurationManager.AppSettings.Get("SupplierIntemationOfflineBookGST") + OfflineBookingId.ToString() + "&key=" + BLayer.Settings.GetValue(CLayer.Settings.PUBLIC_PAGE_LOCK) + "&BookingDetailsId=" + BookingDetailsId); System.Net.Mail.MailMessage supplierMsg = new System.Net.Mail.MailMessage(); string BccEmailsforsupp = BLayer.Settings.GetValue(CLayer.Settings.CC_SUPPLIERCOMMUNICATION); if (BccEmailsforsupp != "") { string[] emails = BccEmailsforsupp.Split(','); for (int i = 0; i < emails.Length; ++i) { supplierMsg.Bcc.Add(emails[i]); } } supplierMsg.Subject = "Booking Confirmation"; supplierMsg.Body = message; if (OfflinePropertydata.PropertyEmail != "") { supplierMsg.To.Add(OfflinePropertydata.PropertyEmail); } supplierMsg.IsBodyHtml = true; try { await ml.SendMailAsync(supplierMsg, Common.Mailer.MailType.Reservation); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(true); }
public async Task <bool> ResendemailC(long OfflineBookingId) { return(true); try { if (OfflineBookingId < 1) { return(false); } CLayer.OfflineBooking Offlinedata = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookingId); CLayer.OfflineBooking OfflinePropertydata = BLayer.OfflineBooking.GetAllpropertyDetails(OfflineBookingId); CLayer.OfflineBooking CustomerDetails = BLayer.OfflineBooking.GetAllCustomerDetails(OfflineBookingId); if (CustomerDetails == null) { return(false); } if (OfflinePropertydata == null) { return(false); } CLayer.StayCategory Staycategorydetails = BLayer.StayCategory.Get(Convert.ToInt32(Offlinedata.StayCategoryid)); CLayer.AccommodationType AccommodationTypedetails = BLayer.AccommodationType.Get(Convert.ToInt32(Offlinedata.Accommodationtypeid)); CLayer.Role.Roles rle = BLayer.User.GetRole(Offlinedata.CustomerId); string message = ""; Common.Mailer ml = new Common.Mailer(); string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflineBookingConfirmation") + OfflineBookingId.ToString() + "&key=" + BLayer.Settings.GetValue(CLayer.Settings.PUBLIC_PAGE_LOCK); //for normal user mail body message = await Common.Mailer.MessageFromHtml(link); System.Net.Mail.MailMessage customerMsg = new System.Net.Mail.MailMessage(); //guest mail added customerMsg.To.Add(CustomerDetails.CustomerEmail); string BccEmailsforcususer = BLayer.Settings.GetValue(CLayer.Settings.CC_CUSTOMERCOMMUNICATION); if (BccEmailsforcususer != "") { string[] emails = BccEmailsforcususer.Split(','); for (int i = 0; i < emails.Length; ++i) { customerMsg.Bcc.Add(emails[i]); } } customerMsg.Subject = "Booking Confirmation"; customerMsg.Body = message; customerMsg.IsBodyHtml = true; try { await ml.SendMailAsync(customerMsg, Common.Mailer.MailType.Reservation); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(true); }
public async Task <bool> OfflineBookingConfirmGST(long OfflineBookId, long BookingDetailsId, string GuestEmail) { try { if (OfflineBookId < 1) { return(false); } if (BookingDetailsId < 1) { return(false); } CLayer.OfflineBooking Offlinedata = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookId); CLayer.OfflineBooking OfflinePropertydata = BLayer.OfflineBooking.GetAllpropertyDetails(OfflineBookId); CLayer.OfflineBooking CustomerDetails = BLayer.OfflineBooking.GetAllCustomerDetails(OfflineBookId); if (CustomerDetails == null) { return(false); } if (OfflinePropertydata == null) { return(false); } CLayer.StayCategory Staycategorydetails = BLayer.StayCategory.Get(Convert.ToInt32(Offlinedata.StayCategoryid)); CLayer.AccommodationType AccommodationTypedetails = BLayer.AccommodationType.Get(Convert.ToInt32(Offlinedata.Accommodationtypeid)); CLayer.Role.Roles rle = BLayer.User.GetRole(Offlinedata.CustomerId); string message = ""; Common.Mailer ml = new Common.Mailer(); try { #region Repeat portion //List<CLayer.OfflineBooking> BListGST = BLayer.OfflineBooking.GetMultipleBookingDetailsGST(OfflineBookId); //foreach (CLayer.OfflineBooking dt in BListGST) //{ System.Net.Mail.MailMessage customerMsg = new System.Net.Mail.MailMessage(); //customerMsg.To.Add(CustomerDetails.CustomerEmail); string BccEmailsforcususer = BLayer.Settings.GetValue(CLayer.Settings.CC_CUSTOMERCOMMUNICATION); if (BccEmailsforcususer.Trim() != "") { string[] emails = Common.Utils.SplitEmails(BccEmailsforcususer); //BccEmailsforcususer.Split(','); for (int i = 0; i < emails.Length; ++i) { customerMsg.CC.Add(emails[i]); } } customerMsg.Subject = "CHECK-IN REMINDER"; customerMsg.IsBodyHtml = true; if (GuestEmail != null) { if (GuestEmail != null && GuestEmail != "") { string[] emails = Common.Utils.SplitEmails(GuestEmail); for (int i = 0; i < emails.Length; ++i) { customerMsg.To.Add(emails[i]); } } } string link = System.Configuration.ConfigurationManager.AppSettings.Get("OfflineBookingConfirmationBeforeCheckin") + OfflineBookId.ToString() + "&BookingDetailsId=" + BookingDetailsId + "&key=" + BLayer.Settings.GetValue(CLayer.Settings.PUBLIC_PAGE_LOCK); message = await Common.Mailer.MessageFromHtml(link); customerMsg.Body = message; //Select Distinct Mail address in To mails System.Net.Mail.MailAddress[] DistinctTo = customerMsg.To.Distinct().ToArray(); customerMsg.To.Clear(); for (int i = 0; i < DistinctTo.Length; ++i) { customerMsg.To.Add(DistinctTo[i]); } //Select Distinct Mail address in CC mails System.Net.Mail.MailAddress[] DistinctCC = customerMsg.CC.Distinct().Except(DistinctTo).ToArray(); customerMsg.CC.Clear(); for (int i = 0; i < DistinctCC.Length; ++i) { customerMsg.CC.Add(DistinctCC[i]); } try { await ml.SendMailAsync(customerMsg, Common.Mailer.MailType.Reservation); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } //} #endregion } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(true); }
public async Task <bool> SendMailInvoice(long OfflineBookingId) { string Filename = ""; // send mail to customer -- after save string msg = await GetMailBody(OfflineBookingId); Common.Mailer ml = new Common.Mailer(); System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); CLayer.OfflineBooking booking = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookingId); CLayer.OfflineBooking customer = new CLayer.OfflineBooking(); int bookingType = BLayer.OfflineBooking.GetBookingType(OfflineBookingId); if (bookingType == (int)CLayer.ObjectStatus.OfflineBookingType.TAC) { //Mail To Supplier if (OfflineBookingId > 0) { CLayer.OfflineBooking OfflinePropertydata = BLayer.OfflineBooking.GetAllpropertyDetails(OfflineBookingId); if (OfflinePropertydata != null) { if (OfflinePropertydata.SupplierEmail != null && OfflinePropertydata.SupplierEmail != "") { mail.To.Add(OfflinePropertydata.SupplierEmail); } } } string BccEmailsforSup = BLayer.Settings.GetValue(CLayer.Settings.CC_SUPPLIERCOMMUNICATION); if (BccEmailsforSup.Trim() != "") { string[] emails = BccEmailsforSup.Split(','); for (int i = 0; i < emails.Length; ++i) { mail.CC.Add(emails[i]); } } } else { //Mail To Customer if (OfflineBookingId > 0) { customer = BLayer.OfflineBooking.GetAllCustomerDetails(OfflineBookingId); } if (customer != null) { if (customer.CustomerEmail != "") { mail.To.Add(customer.CustomerEmail); } } #region for corporate //for corporate admins //long userid = BLayer.User.GetUserId(customer.CustomerEmail); //if (userid > 0) //{ // CLayer.Role.Roles rle = BLayer.User.GetRole(userid); // if (rle == CLayer.Role.Roles.CorporateUser) // { // long cid = BLayer.B2B.GetCorporateIdOfUser(userid); // } //} //message = await Common.Mailer.MessageFromHtml(System.Configuration.ConfigurationManager.AppSettings.Get("CorpIntimation") + bookingId.ToString() + "&key=" + BLayer.Settings.GetValue(CLayer.Settings.PUBLIC_PAGE_LOCK)); //long cid = BLayer.B2B.GetCorporateIdOfUser(byUser.UserId); //if (cid > 0) //{ // string em = BLayer.User.GetEmail(cid); // if (em != null && em != "") // { // msg.CC.Add(em); // } //} //mail.To.Add(BLayer.Settings.GetValue(CLayer.Settings.SUPPORT_EMAIL)); #endregion string BccEmailsforcus = BLayer.Settings.GetValue(CLayer.Settings.CC_CUSTOMERCOMMUNICATION); if (BccEmailsforcus.Trim() != "") { string[] emails = BccEmailsforcus.Split(','); for (int i = 0; i < emails.Length; ++i) { mail.CC.Add(emails[i]); } } } CLayer.Invoice data = BLayer.Invoice.GetInvoiceByOfflineBooking(OfflineBookingId); if (data != null) { mail.Subject = "Invoice against Booking ID: " + booking.ConfirmationNumber + ", Invoice No. " + data.InvoiceNumber; } mail.Body = msg; mail.IsBodyHtml = true; //add atachment try { Areas.Admin.Models.Invoice inv = new Areas.Admin.Models.Invoice(); if (data != null) { inv.InvoiceId = data.InvoiceId; inv.OfflineBookingId = data.OfflineBookingId; inv.IsMailed = (data.MailedDate <= DateTime.Today); inv.HtmlSection1 = data.HtmlSection1; inv.HtmlSection2 = data.HtmlSection2; inv.HtmlSection3 = data.HtmlSection3; ViewAsPdf v = new ViewAsPdf("~/Areas/Admin/Views/ManageOfflineBooking/Mail.cshtml", inv) { PageMargins = new Rotativa.Options.Margins(1, 1, 1, 1), PageOrientation = Rotativa.Options.Orientation.Portrait, PageSize = Rotativa.Options.Size.Letter }; string newdirectory = "Files\\Temp\\" + inv.InvoiceId; if (!Directory.Exists(Server.MapPath("~") + "\\" + newdirectory)) { Directory.CreateDirectory(Server.MapPath("~") + "\\" + newdirectory); } Filename = Server.MapPath("~") + "\\" + newdirectory + "\\" + "Invoice_" + data.InvoiceNumber + ".pdf"; var byteArray = v.BuildPdf(ControllerContext); var fileStream = new FileStream(Filename, FileMode.Create, FileAccess.Write); fileStream.Write(byteArray, 0, byteArray.Length); fileStream.Close(); fileStream.Dispose(); // System.Net.Mail.Attachment attachment; Attachment attacht = new Attachment(Filename, MediaTypeNames.Application.Octet); mail.Attachments.Add(attacht); } } catch (Exception ex) { Common.LogHandler.HandleError(ex); } string AccountMail = BLayer.Settings.GetValue(CLayer.Settings.ACCOUNT_EMAILS); if (AccountMail != "") { string[] Accemails = AccountMail.Split(','); for (int i = 0; i < Accemails.Length; ++i) { mail.CC.Add(Accemails[i]); } } //send to ops mail string SalesPersonOPSMails = ""; if (OfflineBookingId > 0) { CLayer.OfflineBooking OffdataStaff = BLayer.OfflineBooking.GetAllDetailsById(OfflineBookingId); if (OffdataStaff != null) { if (OffdataStaff.SalesPersonId > 0) { CLayer.User usrstaff = BLayer.User.Get(OffdataStaff.SalesPersonId); if (usrstaff != null) { if (usrstaff.OPSEmail != null && usrstaff.OPSEmail != "") { SalesPersonOPSMails = usrstaff.OPSEmail; } } } } } if (SalesPersonOPSMails != "") { string CcOPSEmails = SalesPersonOPSMails.Trim(); if (CcOPSEmails != "") { string[] emails = CcOPSEmails.Split(','); for (int i = 0; i < emails.Length; ++i) { mail.CC.Add(emails[i]); } } } try { await ml.SendMailAsyncForBooking(mail, Common.Mailer.MailType.Reservation); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return(true); }
public ActionResult AutoInvoice(long obid) { CLayer.OfflineBooking ob = BLayer.OfflineBooking.GetAllDetailsById(obid); return(View("AutoInvoice", ob)); }
public async Task <ActionResult> SaveDetails(Models.Invoice data) { CLayer.Invoice sdata = null; if (data.OfflineBookingId > 0) { sdata = BLayer.Invoice.GetProformaByOfflineBooking(data.OfflineBookingId); } if (sdata == null) { sdata = new CLayer.Invoice(); } sdata.OfflineBookingId = data.OfflineBookingId; sdata.InvoiceId = data.InvoiceId; DateTime dt = DateTime.Today; DateTime.TryParse(data.InvoiceDate, out dt); sdata.InvoiceDate = dt; sdata.HtmlSection1 = data.HtmlSection1; sdata.HtmlSection2 = data.HtmlSection2; sdata.HtmlSection3 = data.HtmlSection3; //Common.Utils. // sdata.InvoiceDate = DateTime.Today; sdata.DueDate = DateTime.Today.AddDays(10); string prNumber = BLayer.NumberGenerator.GetProformaNumber(); sdata.InvoiceNumber = prNumber; sdata.InvoiceType = (int)CLayer.ObjectStatus.InvoiceType.Proforma; if (data.OPType == 1)//save btn { BLayer.Invoice.Save(sdata); // BLayer.Invoice.Save(sdata); } else if (data.OPType == 2)//mail btn { data.OPType = 1; BLayer.Invoice.Save(sdata); if (sdata != null) { if (sdata.InvoiceId > 0) { BLayer.Invoice.SetMailedDate(sdata.InvoiceId, DateTime.Today); } } // send mail to customer -- after save string msg = await GetMailBody(sdata.OfflineBookingId); //send mail here using msg as body Common.Mailer ml = new Common.Mailer(); System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); CLayer.OfflineBooking customer = new CLayer.OfflineBooking(); if (data.OfflineBookingId > 0) { customer = BLayer.OfflineBooking.GetAllCustomerDetails(data.OfflineBookingId); } if (customer != null) { if (customer.CustomerEmail != "") { mail.To.Add(customer.CustomerEmail); } } //mail.To.Add(BLayer.Settings.GetValue(CLayer.Settings.SUPPORT_EMAIL)); string BccEmailsforcus = BLayer.Settings.GetValue(CLayer.Settings.CC_CUSTOMERCOMMUNICATION); if (BccEmailsforcus != "") { string[] emails = BccEmailsforcus.Split(','); for (int i = 0; i < emails.Length; ++i) { mail.Bcc.Add(emails[i]); } } mail.Subject = "Invoice"; mail.Body = msg; mail.IsBodyHtml = true; try { await ml.SendMailAsyncForBooking(mail, Common.Mailer.MailType.Reservation); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } } else if (data.OPType == 3) //reset { sdata.HtmlSection1 = ""; sdata.HtmlSection2 = ""; BLayer.Invoice.Save(sdata); } return(await Edit(data.OfflineBookingId)); }