예제 #1
0
        public bool Registrar(Proveedor obj)
        {
            if (!String.IsNullOrWhiteSpace(obj.Ruc))      //EVALUO CAMPOS OBLIGATORIOS
            {
                if (!proveedorRepository.Exists(obj.Ruc)) //EVALUO SI YA EXISTE
                {
                    //Si tiene DNI, debe tener persona
                    if (!String.IsNullOrWhiteSpace(obj.DniRl))
                    {
                        if (obj.DniRlNavigation is null)
                        {
                            obj.DniRlNavigation = new Persona()
                            {
                                Dni = obj.DniRl, Tipo = "pro"
                            };
                        }
                        else
                        {
                            obj.DniRlNavigation.Dni  = obj.DniRl;
                            obj.DniRlNavigation.Tipo = "pro";
                        }

                        PersonaRepository personaRepository = new PersonaRepository();
                        if (!personaRepository.Exists(obj.DniRlNavigation.Dni))
                        {
                            personaRepository.Insert(obj.DniRlNavigation);
                        }
                    }

                    //Primero verifico si se agrego de manera correcta a la DB, luego lo agrego a la Lista in Memory
                    var Result = proveedorRepository.Insert(obj);

                    return(Result);
                }
                else
                {
                    throw new Exception(ExceptionMessageManager.ExceptionMessageProveedor.AlreadyExists(obj.Ruc));
                }
            }
            else
            {
                throw new Exception(ExceptionMessageManager.ExceptionMessageVehiculo.KeyIsNull());
            }
        }