Example #1
0
        public static List<AllClientsContactExport> SaveContacts(List<AllClientsContactExport> contactExports)
        {
            List<AllClientsContactExport> errors = new List<AllClientsContactExport>();
            if (contactExports.Count > 0)
            {
                using (DomainContext ctx = new DomainContext())
                {
                    Manager mgr = new Manager(ctx);
                    ContactManager contactManager = new ContactManager(mgr);
                    ClientManager clientManager = new ClientManager(mgr);


                    IClient client = clientManager.GetByCompany(contactExports.First().Account.ClientName);
                    contactExports.ForEach(export =>
                        {
                            try
                            {
                                XElement element = new XElement("Export");
                                XElement account = Common.Services.CommonService.ToXml(typeof(AllClientsAccount), export.Account);
                                XElement webform = Common.Services.CommonService.ToXml(typeof(AllClientsWebform), export.AllClientsWebform);
                                XElement contact = Common.Services.CommonService.ToXml(typeof(AllClientsContact), export.Contact);
                                element.Add(account);
                                element.Add(webform);
                                element.Add(contact);

                                IContact newContact = contactManager.GetNewContact();
                                newContact.ContactElement = element;
                                newContact.ClientId = client.Id;
                            }
                            catch
                            {
                                errors.Add(export);
                            }
                            finally
                            {
                                ctx.SubmitChanges();
                            }
                        });
                }

            }
            return errors;
        }
Example #2
0
        public static XElement CreateAccount(string email, string password, string group, string newsletter, string fullname, string company, string address, string citystatezip, string phone, string website, int importTypeId, bool enableUpdates, bool active, XElement clientParameters)
        {
            Contract.Requires(!String.IsNullOrEmpty(group));
            IClient newClient = null;
            Dictionary<string, string> parameters = new Dictionary<string, string>();

            parameters.Add("apiusername", "x6knh8g83dsc4dqr");
            parameters.Add("apipassword", "9keyceyf3mtf7tza");
            if (!string.IsNullOrEmpty(email))
                parameters.Add("email", email.Trim());
            if (!string.IsNullOrEmpty(password))
                parameters.Add("password", password.Trim());
            if (!string.IsNullOrEmpty(group))
                parameters.Add("group", group.Trim());
            if (!string.IsNullOrEmpty(fullname))
                parameters.Add("mailmerge_fullname", fullname.Trim());
            if (!string.IsNullOrEmpty(company))
                parameters.Add("mailmerge_company", company.Trim());
            if (!string.IsNullOrEmpty(newsletter))
                parameters.Add("mailmerge_newsletter", newsletter.Trim());
            if (!string.IsNullOrEmpty(address))
                parameters.Add("mailmerge_address", address.Trim());
            if (!string.IsNullOrEmpty(citystatezip))
                parameters.Add("mailmerge_citystatezip", citystatezip.Trim());
            if (!string.IsNullOrEmpty(phone))
                parameters.Add("mailmerge_phone", phone.Trim());
            parameters.Add("mailmerge_email", email.Trim());
            if (!string.IsNullOrEmpty(website))
                parameters.Add("mailmerge_website", website.Trim());

            XElement response = CommonService.AllClientsRequest("AddAccount.aspx", parameters);
            if (response.Descendants("apikey").Count() > 0)
            {

                using (DomainContext ctx = new DomainContext())
                {
                    Manager mgr = new Manager(ctx);
                    ClientManager clientManager = new ClientManager(mgr);
                    newClient = clientManager.GetNewClient();
                    newClient.AccountId = int.Parse(response.Descendants("accountid").Single().Value);
                    newClient.Active = active;
                    newClient.ApiKey = response.Descendants("apikey").Single().Value;
                    newClient.Company = company.Trim();
                    newClient.Created = System.DateTime.Now;
                    newClient.Updated = System.DateTime.Now;
                    newClient.ImportTypeId = importTypeId;
                    newClient.EnableUpdates = enableUpdates;
                    newClient.ClientParameters = clientParameters;
                    newClient.ClientProperties.AllClientsUsername = email;
                    newClient.ClientProperties.AllClientsPassword = password;
                    ctx.SubmitChanges();
                }
            }
            else
            {
                if (response.Descendants("error").Count() > 0)
                    throw new AccountSetupException(String.Format("All Clients Returned an error on account creation: {0}", response.Descendants("error").First().Value));
            }

            return response;

        }
Example #3
0
 public void DeleteClient(Guid Id)
 {
     using (DomainContext ctx = new DomainContext())
     {
         Manager mgr = new Manager(ctx);
         ClientManager clientManager = new ClientManager(mgr);
         var existing = clientManager.GetByKey(Id);
         if (existing != null)
         {
             clientManager.DeleteClient(existing);
             ctx.SubmitChanges();
         }
     }
 }
Example #4
0
        public XmlImportInfo TransformToXml(CsvFileInfo csvFileInfo, List<FieldMap> fieldMaps)
        {

            string csvFilePath = csvFileInfo.Path;
            var rawRows = GetRawRows(csvFilePath).Skip(csvFileInfo.FirstRowContainsColumnHeadings ? 1 : 0);
            var category = _xmlRepository.GetCategory(csvFileInfo.Category);
            var flag = _xmlRepository.GetFlag(csvFileInfo.Flag);

            var rowsToContacts = ConvertRowsToContacts(rawRows, fieldMaps, category, flag);

            var xmlFilePath = csvFilePath.Replace(Path.GetExtension(csvFilePath), ".xml");
            XmlImportInfo importResult = null;
            try
            {
                GenerateXml(rowsToContacts.Contacts, xmlFilePath);
                using (DomainContext ctx = new DomainContext())
                {
                    var account = System.Web.HttpContext.Current.Session["allClientsAccountModel"] as AllClientsAccountModel;
                    var importRecord = new ClientFileImport();
                    importRecord.Id = Guid.NewGuid();
                    importRecord.ImportedFilePath = xmlFilePath;
                    importRecord.UploadFilePath = csvFileInfo.Path;
                    importRecord.RecordsImported = rowsToContacts.SuccessCount;
                    importRecord.RecordsFailed = rowsToContacts.FailureCount;
                    importRecord.ClientId = account.ClientId;
                    importRecord.LastUpdated = System.DateTime.Now;
                    ctx.ClientFileImport.InsertOnSubmit(importRecord);
                    ctx.SubmitChanges();
                }
                var importFile = new FileInfo(xmlFilePath);
                importResult = new XmlImportInfo { SuccessCount = rowsToContacts.SuccessCount, FailureCount = rowsToContacts.FailureCount, DuplicateCount = rowsToContacts.DuplicateCount, FileName = Path.GetFileName(xmlFilePath) };
                ImportWorkflow(importFile, importResult);
            }
            catch (Exception e)
            {
                throw e;
            }
            return importResult;
        }
Example #5
0
        public void SaveClient(ClientModel model, NameValueCollection requestParameters)
        {
            using (DomainContext ctx = new DomainContext())
            {
                Manager mgr = new Manager(ctx);
                ClientManager clientManager = new ClientManager(mgr);



                var existing = clientManager.GetByKey(model.Id);
                
               
                if (existing != null)
                {
                    if (existing.ClientProperties == null)
                    {
                        existing.ClientProperties = new ClientProperties();
                    }
                    existing.ClientProperties.AllClientsUsername = model.Email;
                    existing.ClientProperties.AllClientsPassword = model.AllClientsPassword;
                    existing.AccountId = model.AccountId;
                    existing.ImportTypeId = model.ImportTypeId;
                    existing.EnableUpdates = model.EnableUpdates;
                    existing.Active = model.Active;
                    existing.ApiKey = model.ApiKey;
                    existing.Company = model.Company;
                    existing.ClientParameters = GetClientParametersObject(model, requestParameters).GetClientParameters;
                    ctx.SubmitChanges();
                }
            }
        }