Skip to content

Instantly share code, notes, and snippets.

@esmyth01
Created March 9, 2016 19:46
Show Gist options
  • Save esmyth01/b6451240b4a70e3f904d to your computer and use it in GitHub Desktop.
Save esmyth01/b6451240b4a70e3f904d to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IShowService" in both code and config file together.
[ServiceContract]
public interface IShowService
{
[OperationContract]
int RegisterVenue(VenueLite v);
[OperationContract]
int VenueLogin(string username, string password);
[OperationContract]
int AddShow(AddShowLite asl);
[OperationContract]
bool AddArtist(AddArtistLite aal);
}
[DataContract]
public class VenueLite
{
[DataMember]
public string VenueName { set; get; }
[DataMember]
public string VenueAddress { set; get; }
[DataMember]
public string VenueCity { set; get; }
[DataMember]
public string VenueState { set; get; }
[DataMember]
public string VenueZipCode { set; get; }
[DataMember]
public string VenuePhone { set; get; }
[DataMember]
public string VenueEmail { set; get; }
[DataMember]
public string VenueWebPage { set; get; }
[DataMember]
public int VenueAgeRestriction { set; get; }
[DataMember]
public string VenueLoginUserName { set; get; }
[DataMember]
public string VenueLoginPasswordPlain { set; get; }
}
[DataContract]
public class AddShowLite
{
[DataMember]
public int ShowDetailKey { set; get; }
[DataMember]
public int VenueKey { set; get; }
[DataMember]
public int ArtistKey { set; get; }
[DataMember]
public System.TimeSpan ShowDetailArtistStartTime { set; get; }
[DataMember]
public string ShowDetailAdditional { set; get; }
[DataMember]
public int ShowKey { set; get; }
[DataMember]
public string ShowName { set; get; }
[DataMember]
public DateTime ShowDate { set; get; }
[DataMember]
public System.TimeSpan ShowTime { set; get; }
[DataMember]
public string ShowTicketInfo { set; get; }
[DataMember]
public string ShowDateEntered { set; get; }
}
[DataContract]
public class AddArtistLite
{
[DataMember]
public int ArtistKey { set; get; }
[DataMember]
public string ArtistName { set; get; }
[DataMember]
public string ArtistEmail { set; get; }
[DataMember]
public string ArtistWebPage { set; get; }
[DataMember]
public string ArtistDateEntered { set; get; }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "ShowService" in code, svc and config file together.
public class ShowService : IShowService
{
AddShowEntities db = new AddShowEntities();
public int VenueLogin(string username, string password)
{
int key = 0;
int pass = db.usp_venueLogin(username, password);
//returns 1 if good -1 if bad
//I had trouble getting the stored procedure to
//return the userkey so we have to look it up
if (pass != -1)
{
var ven = from v in db.VenueLogins
where v.VenueLoginUserName.Equals(username)
select new { v.VenueKey };
foreach (var r in ven)
{
key = (int)r.VenueKey;
}
}
return key;
}
public int RegisterVenue(VenueLite v)
{
int result = db.usp_RegisterVenue
(v.VenueName, v.VenueAddress, v.VenueCity, v.VenueState, v.VenueZipCode, v.VenuePhone, v.VenueEmail, v.VenueWebPage, v.VenueAgeRestriction, v.VenueLoginUserName, v.VenueLoginPasswordPlain);
return result;
}
public bool AddArtist(AddArtistLite aal)
{
bool result = true;
try
{
Artist art = new Artist();
art.ArtistName = aal.ArtistName;
art.ArtistEmail = aal.ArtistEmail;
art.ArtistWebPage = aal.ArtistWebPage;
art.ArtistDateEntered = DateTime.Now;
db.Artists.Add(art);
db.SaveChanges();
}
catch(Exception ex)
{
result = false;
}
return result;
}
public int AddShow(AddShowLite asl)
{
ShowDetail sd = new ShowDetail();
Show s = new Show();
s.ShowName = asl.ShowName;
s.ShowDate = asl.ShowDate;
s.ShowTime = asl.ShowTime;
s.ShowTicketInfo = asl.ShowTicketInfo;
s.ShowDateEntered = DateTime.Now;
s.VenueKey = asl.VenueKey;
sd.ArtistKey = asl.ArtistKey;
sd.Show = s;
sd.ShowDetailArtistStartTime = s.ShowTime;
if (db.Shows != null)
{
foreach (var a in db.Shows)
{
Show show = db.Shows.FirstOrDefault(x => x.ShowName == a.ShowName);
db.Shows.Add(show);
}
}
db.ShowDetails.Add(sd);
db.Shows.Add(s);
db.SaveChanges();
return 1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment