private TicketEntities Fill(tblContacts contact) { log.Debug(string.Format("Begin Fill({0})", contact.FileNum)); try { var Id = contact.FileNum; var result = new TicketEntities { Contact = contact, Attachments = context.tblAttachments.Where(a => a.FileNum == Id).ToList(), ResponseHistory = context.tblContactHistory.Where(a => a.FileNum == Id).ToList(), ResearchHistory = context.tblResearchHistory.Where(a => a.FileNum == Id).ToList(), IncidentUpdateHistory = context.tblIncidentUpdateHistory.Where(a => a.FileNum == Id).ToList(), LinkedContacts = context.tblLinkedContacts.Where(a => a.FileNum == Id).ToList(), ChangeHistory = context.tblUpdateLog.Where(a => a.FileNum == Id).ToList(), }; if (DetachGet) { log.Debug(string.Format("Detaching new TicketEntities")); result.Detach(context); } return(result); } finally { log.Debug(string.Format("End Fill({0})", contact.FileNum)); } }
public int CreateOrUpdateContact(Account Account, Contact Contact, Address Address, string ClientID) { var GcimsContact = _context.tblContacts.SingleOrDefault(c => c.ContactID == Contact.GcimsContactID); //update if (GcimsContact != null) { _context.Entry(GcimsContact).State = EntityState.Modified; _context.SaveChanges(); } else //create { //get next client id var contactId = new SqlParameter("@NextNum", 1); contactId.Direction = System.Data.ParameterDirection.Output; contactId.SqlDbType = System.Data.SqlDbType.Int; var newContactID = _context.Database.ExecuteSqlCommand("exec sp_GetNextContactID @NextNum OUT", contactId); Contact.GcimsContactID = (int)contactId.Value; _context.Entry(Contact).State = EntityState.Modified; _context.SaveChanges(); //Contact.GcimsClientID = ClientID; tblContacts newGcimsContact = new tblContacts { Firstname = Contact.FirstName, ContactID = newContactID, Lastname = Contact.LastName, SalutationID = Contact.SalutationID, LanguageID = Contact.PreferredLanguageID, ClientID = Account.GcimsClientID, CityID = Address.GcimsCityID, AddressLine1 = Address.AddressLine1, AddressLine2 = Address.AddressLine2, AddressLine3 = Address.AddressLine3, AddressLine4 = Address.AddressLine4, Email = Contact.Email, PostalCode = Address.Postal, CreatedBy = "GCIMSUnit", UpdatedBy = "GCIMSUnit" }; _context.tblContacts.Add(newGcimsContact); _context.SaveChanges(); } return(Contact.GcimsContactID); }
public static tblContacts CreateContact(this Ticket Ticket) { // TODO: Use object initializer once code is proven accurate var result = new tblContacts(); result.FileNum = Ticket.ShouldIgnore ? -1 : Ticket.Id; result.FeedbackId = Ticket.Source != null ? Ticket.Source.FeedbackId : null; result.ClerkId = null; // deprecated result.UserId = Ticket.Source != null && Ticket.Source.ReceivedBy != null ? Ticket.Source.ReceivedBy.Id : null; result.ADAComplaint = Ticket.IsAdaComplaint.HasValue ? (Ticket.IsAdaComplaint.GetValueOrDefault() ? "Y" : "N") : null; result.SeniorComplaint = null; // deprecated result.ContactSource = Ticket.Source != null && Ticket.Source.Via != null?Ticket.Source.Via.ToString() : null; result.ReceivedDateTime = Ticket.Source != null && Ticket.Source.ReceivedAt != null ? Ticket.Source.ReceivedAt : (Ticket.DaysOpen > 0 ? (DateTime?)DateTime.Now.Date.AddDays(-Ticket.DaysOpen) : null); result.Priority = Ticket.Priority != null?Ticket.Priority.ToString() : null; result.ResolvedDateTime = Ticket.Resolution != null ? Ticket.Resolution.ResolvedAt : null; result.FirstName = Ticket.Contact != null && Ticket.Contact.Name != null ? Ticket.Contact.Name.First : null; result.LastName = Ticket.Contact != null && Ticket.Contact.Name != null ? Ticket.Contact.Name.Last : null; result.Addr1 = Ticket.Contact != null && Ticket.Contact.Address != null && !string.IsNullOrEmpty(Ticket.Contact.Address.Addr1) ? Ticket.Contact.Address.Addr1 : null; result.Addr2 = Ticket.Contact != null && Ticket.Contact.Address != null && !string.IsNullOrEmpty(Ticket.Contact.Address.Addr2) ? Ticket.Contact.Address.Addr2 : null; result.CustCity = Ticket.Contact != null && Ticket.Contact.Address != null && !string.IsNullOrEmpty(Ticket.Contact.Address.City) ? Ticket.Contact.Address.City : null; result.CustState = Ticket.Contact != null && Ticket.Contact.Address != null ? Ticket.Contact.Address.State : null; result.CustZip = Ticket.Contact != null && Ticket.Contact.Address != null ? Ticket.Contact.Address.ZipCode : null; result.HomePhone = null; // deprecated result.WorkPhone = null; // deprecated result.CellPhone = Ticket.Contact != null && Ticket.Contact.Phone != null && !string.IsNullOrEmpty(Ticket.Contact.Phone.Number) ? Ticket.Contact.Phone.Number : null; result.Email = Ticket.Contact != null && !string.IsNullOrEmpty(Ticket.Contact.Email) ? Ticket.Contact.Email : null; result.RespondVia = Ticket.ResponseCriteria != null?Ticket.ResponseCriteria.Via.ToString() : null; result.IncidentDateTime = Ticket.Incident != null ? Ticket.Incident.IncidentAt : null; result.VehNo = Ticket.Incident != null ? Ticket.Incident.VehicleNumber : null; result.Route = Ticket.Incident != null ? Ticket.Incident.Route : null; result.Destination = Ticket.Incident != null ? Ticket.Incident.Destination : null; result.Location = Ticket.Incident != null ? Ticket.Incident.Location : null; result.IncidentCity = Ticket.Incident != null ? Ticket.Incident.City : null; result.Badge = Ticket.Operator != null && !string.IsNullOrEmpty(Ticket.Operator.Badge) ? Ticket.Operator.Badge.PadLeft(6, '0') : null; result.EmployeeDesc = Ticket.Operator != null ? Ticket.Operator.Description : null; result.ResponseRequested = Ticket.ResponseCriteria != null && Ticket.ResponseCriteria.HasRequestedResponse.HasValue ? (Ticket.ResponseCriteria.HasRequestedResponse.GetValueOrDefault() ? "Y" : "N") : null; result.Division = Ticket.Incident != null ? Ticket.Incident.Division : null; result.CustComments = Ticket.Comments; result.AssignedTo = Ticket.Assignment != null && Ticket.Assignment.Employee != null ? Ticket.Assignment.Employee.Id : null; result.ForAction = Ticket.Assignment != null && Ticket.Assignment.GroupContact != null?Ticket.Assignment.GroupContact.ToString() : null; result.ForInfos = null; // deprecated result.ContactStatus = Ticket.Contact != null ? Ticket.Contact.Status : null; result.TicketStatus = Ticket.Status != null?Ticket.Status.ToString().PascalCaseToDescription() : null; result.Resolution = Ticket.Resolution != null ? Ticket.Resolution.Action : null; result.ResolutionComment = Ticket.Resolution != null && !string.IsNullOrEmpty(Ticket.Resolution.Comment) ? Ticket.Resolution.Comment : null; result.updatedBy = Ticket.UpdatedBy != null ? Ticket.UpdatedBy.Id : null; result.updatedOn = Ticket.UpdatedAt; result.Reasons = Ticket.Reasons != null?String.Join(";", Ticket.Reasons.Where(t => !string.IsNullOrEmpty(t)).ToArray()) : null; result.TitleVI = Ticket.IsTitle6.HasValue ? (Ticket.IsTitle6.GetValueOrDefault() ? "Y" : "N") : null; result.LostItemCategory = Ticket.LostItem != null ? Ticket.LostItem.Category : null; result.LostItemType = Ticket.LostItem != null ? Ticket.LostItem.Type : null; result.OperatorName = Ticket.Operator != null ? Ticket.Operator.Name : null; return(result); }