Пример #1
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");
            }
        }
Пример #2
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();
                            }
                        }
                    }
                }
            }
        }
Пример #3
0
        public void SetClientAddress(AddressEntity addressEntity, int clientId, int?userId = null)
        {
            if (addressEntity == null)
            {
                throw new ArgumentNullException("addressEntity", "addressEntity is null");
            }

            if (addressEntity.State == null || addressEntity.State.Id <= 0)
            {
                throw new ArgumentNullException("addressEntity.State", "addressEntity.States is null");
            }

            if (clientId == 0 && userId == null)
            {
                throw new ArgumentNullException("clientId", "clientId of User or Client is null");
            }

            using (Petz_dbEntities db = new Petz_dbEntities())
            {
                if (addressEntity.Id <= 0)
                {
                    //Novo
                    petz_Address address = new petz_Address();

                    if (userId != null && userId > 0)
                    {
                        address.insert_user_id = userId.Value;
                    }
                    else
                    {
                        address.insert_client_id = clientId;
                    }

                    address.date_insert        = DateTime.Now;
                    address.address_name       = addressEntity.Address;
                    address.address_number     = addressEntity.Number;
                    address.address_nickname   = addressEntity.Name;
                    address.address_zip        = addressEntity.ZipCode;
                    address.address_complement = addressEntity.Complement;
                    address.address_latitude   = addressEntity.Latitude;
                    address.address_longitude  = addressEntity.Longitude;
                    address.state_id           = addressEntity.State.Id;

                    db.petz_Address.Add(address);
                    db.SaveChanges();

                    int addressId = address.address_id;
                    if (clientId > 0)
                    {
                        db.petz_Client_Address.Add(new petz_Client_Address()
                        {
                            address_id = addressId, client_id = clientId
                        });
                        db.SaveChanges();
                    }
                }
                else
                {
                    Boolean isAddressClient = false;
                    if (clientId > 0)
                    {
                        isAddressClient = db.petz_Client_Address.Count(x => x.address_id == addressEntity.Id && x.client_id == clientId) == 1;
                    }

                    if (isAddressClient)
                    {
                        //Update
                        petz_Address address = db.petz_Address.FirstOrDefault(x => x.address_id == addressEntity.Id);
                        if (address != null)
                        {
                            if (userId != null && userId > 0)
                            {
                                address.update_user_id = userId.Value;
                            }
                            else
                            {
                                address.update_client_id = clientId;
                            }

                            address.date_update        = DateTime.Now;
                            address.address_name       = addressEntity.Address;
                            address.address_number     = addressEntity.Number;
                            address.address_nickname   = addressEntity.Name;
                            address.address_zip        = addressEntity.ZipCode;
                            address.address_complement = addressEntity.Complement;
                            address.address_latitude   = addressEntity.Latitude;
                            address.address_longitude  = addressEntity.Longitude;
                            address.state_id           = addressEntity.State.Id;
                            db.SaveChanges();
                        }
                        else
                        {
                            throw new ArgumentOutOfRangeException("addressEntity.Id", "This address is not of this client");
                        }
                    }
                    else
                    {
                        throw new ArgumentOutOfRangeException("addressEntity.Id", "This address is not of this client");
                    }
                }
            }
        }