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));
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }