Example #1
0
        private phonebook GetContactByPhoneNumber(string phoneNumber)
        {
            //phonebook phonebookEntity = db.phonebook.Single<phonebook>(p => p.number == phoneNumber);
            phonebook phonebookEntity = db.phonebook.Where(p => p.number == phoneNumber).First <phonebook>();

            return(phonebookEntity);
        }
Example #2
0
        private phonebook GetContact(int phonebookId)
        {
            //phonebook phonebookEntity = db.phonebook.Single<phonebook>(p => p.id == phonebookId);
            phonebook phonebookEntity = db.phonebook.Find(new int[] { phonebookId });

            return(phonebookEntity);
        }
Example #3
0
        static void Main(string[] args)
        {
            phonebook pb = new phonebook();


            Console.WriteLine("Jill's phone number : {0}", pb["Jill"]);
            Console.WriteLine("Person with ph. no. 234567 : {0}", pb[234567]);
            Console.WriteLine("Person with ph. no. 111111 : {0}", pb[111111]);
            Console.ReadLine();
        }
Example #4
0
        private phonebook PhonebookRecordToEntity(PhonebookRecord phonebookItem)
        {
            phonebook entityPhonebookItem = new phonebook()
            {
                company = phonebookItem.Company.Trim(),
                number  = phonebookItem.Number.Trim()
                          //TODO next properties
                          //phone_type = phonebookItem.PhoneType,
                          //description = phonebookItem.Description
            };

            return(entityPhonebookItem);
        }
Example #5
0
        private PhonebookRecord PhonebookEntityTpRecord(phonebook phonebookEntity)
        {
            PhonebookRecord phonebookItem = new PhonebookRecord()
            {
                Company = phonebookEntity.company,
                Number  = phonebookEntity.number
                          //TODO next properties
                          //PhoneType = phonebookEntity.phone_type,
                          //Description = phonebookEntity.description
            };

            return(phonebookItem);
        }
Example #6
0
        public object Create([FromBody] CreatePhonebook contact)
        {
            if (contact.Id != null || contact.Id == Guid.Empty)
            {
                var ct = new phonebook();
                ct.Name = contact.Name;
                ct.Id   = Guid.NewGuid();

                using (var dbCtx = new AddressBookEntities())
                {
                    dbCtx.phonebooks.Add(ct);
                    dbCtx.SaveChanges();
                }

                return(new Response
                {
                    Status = "Success",
                    Message = "Record SuccessFully Added."
                });
            }
            else
            {
                using (var dbCtx = new AddressBookEntities())
                {
                    var pb = (from s in dbCtx.phonebooks
                              where s.Id == contact.Id
                              select s).FirstOrDefault();
                    pb.Name = contact.Name;

                    dbCtx.SaveChanges();
                }

                return(new Response
                {
                    Status = "Success",
                    Message = "Record SuccessFully Updated."
                });
            }
        }
Example #7
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="PersonId"></param>
        /// <returns></returns>
        public override bool Load(int EntryId)
        {
            var q = from x in CurrentConnection.phonebooks where x.id.Equals(EntryId) && x.deleted.Equals(0) select x;
            CurrentRow = q.FirstOrDefault();

            return true;
        }
Example #8
0
        private ImportRecordResponse ImportContact(PhonebookRecord record, bool batchMode)
        {
            if (!batchMode)
            {
                numbers = GetContactsPhoneNumbers();
            }

            ImportRecordResponse      response      = new ImportRecordResponse();
            ImportRecordResponseError errorResponse = new ImportRecordResponseError();

            #region Validate
            if (String.IsNullOrEmpty(record.Company))
            {
                errorResponse.Description = "Jméno musí být uvedeno";
                errorResponse.RecordId    = record.RecordId;
                errorResponse.ErrorType   = ImportErrorType.Required;
                errorResponse.ColumnId    = 0;
                hostLogger?.Error("Error: 'Name' required [recordId:" + record.RecordId + "]");
                throw new FaultException <ImportRecordResponseError>(errorResponse, commonErrorMessage);
            }

            if (String.IsNullOrEmpty(record.Number))
            {
                errorResponse.Description = "Tel.číslo musí být uvedeno";
                errorResponse.RecordId    = record.RecordId;
                errorResponse.ErrorType   = ImportErrorType.Required;
                errorResponse.ColumnId    = 1;
                hostLogger?.Error("Error: 'Number' required [recordId:" + record.RecordId + "]");
                throw new FaultException <ImportRecordResponseError>(errorResponse, commonErrorMessage);
            }

            if (numbers != null && numbers.Count > 0)
            {
                // TODO iteligentnejsi kontrola, napr. i varianty zacinajici na '+narodnikod' atd
                // Dalsi moznost je nastaveni indexu bez duplicit na sloupci number v phonebook
                // a odchytit exception pri db.Save. Toto by bylo rychlejsi a jednodussi, ale nebylo
                // by mozne resit duplicity importu zapisu cisel v ruznem formatu...
                // Ale je mozne, ze toto je uz nejak reseno na urovni pripravy importniho CSV
                // protoze v ukazkach byla jen cisla bez mezinarodniho predcisli. Pak by bylo
                // lepsi zvolit variantu hlidani duplicit na urovni SQL
                if (numbers.Contains(record.Number.Trim()))
                {
                    errorResponse.Description = "Tel.číslo již v seznamu existuje";
                    errorResponse.RecordId    = record.RecordId;
                    errorResponse.ErrorType   = ImportErrorType.DuplicateNumber;
                    errorResponse.ColumnId    = 1; // TODO na string jmeno
                    hostLogger?.Error("Error: 'Number' duplicated [recordId:" + record.RecordId + "]");
                    throw new FaultException <ImportRecordResponseError>(errorResponse, commonErrorMessage);
                }
            }
            #endregion

            phonebook phonebookEntity = PhonebookRecordToEntity(record);
            try
            {
                db.phonebook.Add(phonebookEntity);
                if (!batchMode)
                {
                    db.SaveChanges();
                }
                response.Success = true;
            }
            catch (Exception e)
            {
                errorResponse.RecordId    = record.RecordId;
                errorResponse.ErrorType   = ImportErrorType.Unknown;
                errorResponse.Description = e.Message;
                throw new FaultException <ImportRecordResponseError>(errorResponse, commonErrorMessage);
            }
            return(response);
        }