private bool UpdateContact(AddDedupeViewModel dedupe, long contectID, int type, string notes) { CCItems contact = new CCItems(); contact.ItemID = contectID; contact.Notes = notes; contact.TextBody = notes; if (type == 1) { contact.DeDupeValue = dedupe.FirstName + "|" + dedupe.MiddleName + "|" + dedupe.LastName + "|" + dedupe.CompanyName + "|" + dedupe.Email; } else { contact.DeDupeValue = dedupe.Subject + "|" + dedupe.StartDateTime + "|" + dedupe.EndDateTime; } bool res = CCItemRepository.UpdateContact(contact); return res; }
public long ImportInputContacts(long fid, string aguid, string path, string fileExtension, long maxItemImportCount) { if (inputdatas == null) inputdatas = new DataInputHelper(path, fileExtension); List<CCFolderField> FieldsByFolderID = null; FieldsByFolderID = CCFieldRepository.CCFolderFields.Where(id => id.FolderID == fid).ToList(); DataTable valus = inputdatas.GetImportExcel(); bool _readheader = true; IsFieldValueMatch = false; var _availablevalue = new List<Tuple<long, bool>>(); var totalRowCount = (valus.Rows.Count)-1; if (totalRowCount <= maxItemImportCount) { foreach (DataRow row in valus.Rows) { AddDedupeViewModel dedupe = new AddDedupeViewModel(); int _fieldcount = 0; long contectID = 0; string notes = ""; if (!_readheader && IsFieldValueMatch) { contectID = CCItemRepository.CreateContact(fid, aguid); } foreach (DataColumn col in valus.Columns) { string _colname = row[col].ToString(); if (_readheader) // run when it header { // set correct Header to Field name var reponse = FieldsByFolderID.Find(name => name.FieldName == _colname); if (reponse != null) { _availablevalue.Add(new Tuple<long, bool>(reponse.FieldID, true)); IsFieldValueMatch = true; } else { _availablevalue.Add(new Tuple<long, bool>(0, false)); } } else { // reu when it columns value if (_availablevalue[_fieldcount].Item2) { CCFieldValue objFieldValue = new CCFieldValue(); objFieldValue.FieldID = _availablevalue[_fieldcount].Item1; if (_colname == String.Empty) objFieldValue.Value = String.Empty; else objFieldValue.Value = _colname; objFieldValue.ItemID = contectID; objFieldValue.LastUpdated = DateTime.Now.ToUniversalTime(); objFieldValue.AccountGUID = aguid; ObjFieldValues.Add(objFieldValue); // update dedupe var fieldName = FieldsByFolderID.Find(id => id.FieldID == _availablevalue[_fieldcount].Item1).FieldCaption; if (fieldName == "First Name") { dedupe.FirstName = _colname; } if (fieldName == "Middle Name") { dedupe.MiddleName = _colname; } if (fieldName == "Last Name") { dedupe.LastName = _colname; } if (fieldName == "Company") { dedupe.CompanyName = _colname; } if (fieldName == "Email Address") { dedupe.Email = _colname; } // End update dedupe if(fieldName == "Notes") notes = _colname; } _fieldcount++; } } bool res = UpdateContact(dedupe, contectID, 1, notes); _readheader = false; } var savedfields = CCFieldValueRepository.SaveFieldsObjValues(ObjFieldValues); if (IsFieldValueMatch == false) NumberOfContacts = 0; else NumberOfContacts = valus.Rows.Count; return NumberOfContacts; } else { return -2; } }
public bool ImportSingleContact(AddContactViewModel objContact, int type,string accountGUID, string timeZone) { List<string> fieldValus = objContact.FolderValues.Split('|').ToList(); List<CCFieldValue> ObjFieldValues = new List<CCFieldValue>(); List<CCFieldValue> savedfields = new List<CCFieldValue>(); AddDedupeViewModel dedupe = new AddDedupeViewModel(); DateTime startTime; DateTime endTime; string notes = ""; long contectID = CCItemRepository.CreateContact(objContact.FolderID, accountGUID); if (contectID > 0) { List<CCFolderField> folderFields = new List<CCFolderField>(); folderFields = CCFieldRepository.CCFolderFields.Where(fid => fid.FolderID == objContact.FolderID & fid.AccountGUID==accountGUID).ToList(); int i = 0; foreach (var field in fieldValus) { if (field != "") { var fieldName = folderFields[i].FieldCaption; if (type == 1) { if (fieldName == "First Name") { dedupe.FirstName = field; } if (fieldName == "Middle Name") { dedupe.MiddleName = field; } if (fieldName == "Last Name") { dedupe.LastName = field; } if (fieldName == "Company") { dedupe.CompanyName = field; } if (fieldName == "Email Address") { dedupe.Email = field; } } else { if (fieldName == "Subject") { dedupe.Subject = field; } if (fieldName == "Start Time") { string format = "yyyy-MM-dd HH:mm"; startTime = DateTime.Parse(field); dedupe.StartDateTime = ConvertLocaltoUTC(startTime, timeZone).ToString(format); } if (fieldName == "End Time") { string format = "yyyy-MM-dd HH:mm"; //endTime = DateTimeOffset.Parse(field).UtcDateTime; //dedupe.EndDateTime = endTime.ToString(format); endTime = DateTime.Parse(field); dedupe.EndDateTime = ConvertLocaltoUTC(endTime, timeZone).ToString(format); } } if (fieldName == "Notes") notes = field; var fieldID = folderFields[i].FieldID; i++; CCFieldValue objFieldValue = new CCFieldValue(); objFieldValue.FieldID = fieldID; if (fieldName == "Start Time") { objFieldValue.Value = dedupe.StartDateTime; } else if (fieldName == "End Time") { objFieldValue.Value = dedupe.EndDateTime; } else { if (field == " ") objFieldValue.Value = String.Empty; else objFieldValue.Value = field; } objFieldValue.ItemID = contectID; objFieldValue.LastUpdated = DateTime.UtcNow; objFieldValue.AccountGUID = accountGUID; ObjFieldValues.Add(objFieldValue); } } savedfields = CCFieldValueRepository.SaveFieldsObjValues(ObjFieldValues); } if (savedfields.Count() > 0) { bool res = UpdateContact(dedupe, contectID, type, notes); return true; } else return false; }