Example #1
0
        public void SetClient(ClientEntity clientEntity, int?userId = null)
        {
            if (clientEntity == null)
            {
                throw new ArgumentNullException("clientEntity", "clientEntity is null");
            }

            using (Petz_dbEntities db = new Petz_dbEntities())
            {
                var clientUpd = db.petz_Clients.FirstOrDefault(x => x.client_id == clientEntity.Id);

                if (clientUpd != null)
                {
                    clientUpd.client_birthday = clientEntity.Birthday;
                    clientUpd.client_document = clientEntity.Document;
                    clientUpd.client_email    = clientEntity.Email;
                    clientUpd.client_name     = clientEntity.Name;
                    clientUpd.client_nickname = clientEntity.NickName;

                    if (clientEntity.Sex == EnumSex.Female)
                    {
                        clientUpd.client_sex = "F";
                    }
                    if (clientEntity.Sex == EnumSex.Male)
                    {
                        clientUpd.client_sex = "M";
                    }
                    if (clientEntity.Sex == EnumSex.Other)
                    {
                        clientUpd.client_sex = null;
                    }
                    clientUpd.date_update = DateTime.Now;

                    if (userId != null && userId > 0)
                    {
                        clientUpd.update_user_id = userId;
                    }
                }

                db.SaveChanges();

                if (clientEntity.Phones != null)
                {
                    foreach (var phone in clientEntity.Phones)
                    {
                        petz_Client_Phone p;
                        if (phone.Id <= 0)
                        {
                            p = new petz_Client_Phone
                            {
                                client_phone = phone.Phone,
                                client_id    = clientEntity.Id
                            };
                            db.petz_Client_Phone.Add(p);
                            db.SaveChanges();
                        }
                        else
                        {
                            p = db.petz_Client_Phone.FirstOrDefault(x => x.phone_id == phone.Id && x.client_id == clientEntity.Id);
                            if (p != null)
                            {
                                p.client_phone = phone.Phone;
                                db.SaveChanges();
                            }
                        }
                    }
                }
                if (clientEntity.Address != null)
                {
                    foreach (var address in clientEntity.Address)
                    {
                        petz_Address a;
                        if (address.Id <= 0)
                        {
                            a = new petz_Address
                            {
                                address_complement = address.Complement,
                                address_latitude   = address.Latitude,
                                address_longitude  = address.Longitude,
                                address_name       = address.Name,
                                address_nickname   = "",
                                address_number     = address.Number,
                                address_zip        = address.ZipCode,
                                date_insert        = DateTime.Now,
                                insert_client_id   = clientEntity.Id,
                                state_id           = address.State.Id
                            };
                            db.petz_Address.Add(a);

                            petz_Client_Address p = new petz_Client_Address
                            {
                                address_id = a.address_id,
                                client_id  = clientEntity.Id
                            };
                            db.petz_Client_Address.Add(p);
                            db.SaveChanges();
                        }
                        else
                        {
                            a = db.petz_Address.FirstOrDefault(x => x.address_id == address.Id);
                            if (a != null)
                            {
                                a.address_complement = address.Complement;
                                a.address_latitude   = address.Latitude;
                                a.address_longitude  = address.Longitude;
                                a.address_name       = address.Name;
                                a.address_nickname   = "";
                                a.address_number     = address.Number;
                                a.address_zip        = address.ZipCode;
                                a.date_insert        = DateTime.Now;
                                a.insert_client_id   = clientEntity.Id;
                                a.state_id           = address.State.Id;
                                db.SaveChanges();
                            }
                        }
                    }
                }
            }
        }
Example #2
0
        public void CreateClient(ClientEntity clientEntity, string password)
        {
            if (clientEntity == null)
            {
                throw new ArgumentNullException("clientEntity", "clientEntity is null or invalid");
            }

            if (String.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException("password", "Password is null or invalid");
            }

            if (String.IsNullOrEmpty(clientEntity.Email))
            {
                throw new ArgumentNullException("clientEntity.Email", "clientEntity.Email is null or invalid");
            }

            if (String.IsNullOrEmpty(clientEntity.Name))
            {
                throw new ArgumentNullException("clientEntity.Name", "clientEntity.Name is null or invalid");
            }

            if (String.IsNullOrEmpty(clientEntity.Document))
            {
                throw new ArgumentNullException("clientEntity.Document", "clientEntity.Document is null or invalid");
            }

            if (!clientEntity.Document.IsCpf())
            {
                throw new ArgumentNullException("clientEntity.Document", "clientEntity.Document is not a valid CPF");
            }

            var clientAlreadyExists = GetClient(clientEntity.Email);

            if (clientAlreadyExists == null)
            {
                using (Petz_dbEntities db = new Petz_dbEntities())
                {
                    petz_Clients client = new petz_Clients
                    {
                        client_birthday = clientEntity.Birthday,
                        client_document = clientEntity.Document.Replace(".", "").Replace("-", ""),
                        client_email    = clientEntity.Email,
                        client_name     = clientEntity.Name,
                        client_nickname = clientEntity.NickName,
                        client_password = password
                    };


                    if (clientEntity.Sex == EnumSex.Female)
                    {
                        client.client_sex = "F";
                    }
                    if (clientEntity.Sex == EnumSex.Male)
                    {
                        client.client_sex = "M";
                    }
                    if (clientEntity.Sex == EnumSex.Other)
                    {
                        client.client_sex = null;
                    }

                    client.date_insert = DateTime.Now;

                    db.petz_Clients.Add(client);
                    db.SaveChanges();

                    if (clientEntity.Phones != null)
                    {
                        foreach (var phone in clientEntity.Phones)
                        {
                            petz_Client_Phone p = new petz_Client_Phone
                            {
                                client_phone = phone.Phone,
                                client_id    = client.client_id
                            };
                            db.petz_Client_Phone.Add(p);
                            db.SaveChanges();
                        }
                    }

                    if (clientEntity.Address != null)
                    {
                        foreach (var address in clientEntity.Address)
                        {
                            petz_Address a = new petz_Address
                            {
                                address_complement = address.Complement,
                                address_latitude   = address.Latitude,
                                address_longitude  = address.Longitude,
                                address_name       = address.Name,
                                address_nickname   = "",
                                address_number     = address.Number,
                                address_zip        = address.ZipCode,
                                date_insert        = DateTime.Now,
                                insert_client_id   = client.client_id,
                                state_id           = address.State.Id
                            };
                            db.petz_Address.Add(a);

                            petz_Client_Address p = new petz_Client_Address
                            {
                                address_id = a.address_id,
                                client_id  = client.client_id
                            };
                            db.petz_Client_Address.Add(p);
                            db.SaveChanges();
                        }
                    }
                }
            }
            else
            {
                throw new Exception("The Client (" + clientEntity.Email + ") already exists");
            }
        }